Log: /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/logs/pitr-physical.log WARNING: version difference between client (1.30) and server (1.26) exceeds the supported minor version skew of +/-1 WARNING: version difference between client (1.30) and server (1.26) exceeds the supported minor version skew of +/-1 WARNING: version difference between client (1.30) and server (1.26) exceeds the supported minor version skew of +/-1 + main + create_infra pitr-physical-20459 + local ns=pitr-physical-20459 + delete_crd + desc 'get and delete old CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- get and delete old CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.5BWAuirGyh ++ mktemp + local LAST_ERR=/tmp/tmp.oa5SyR3LSn + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5BWAuirGyh customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" deleted + cat /tmp/tmp.oa5SyR3LSn + rm /tmp/tmp.5BWAuirGyh /tmp/tmp.oa5SyR3LSn + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/crd.yaml ++ grep -v '\-\-\-' + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' + grep -v NAMESPACE + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.9GDpy64DNR ++ mktemp + local LAST_ERR=/tmp/tmp.CxsbTK7ZEU + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.9GDpy64DNR + cat /tmp/tmp.CxsbTK7ZEU + rm /tmp/tmp.9GDpy64DNR /tmp/tmp.CxsbTK7ZEU + return 0 + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.KThF5sbRsC ++ mktemp + local LAST_ERR=/tmp/tmp.bV1h99La5K + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KThF5sbRsC + cat /tmp/tmp.bV1h99La5K + rm /tmp/tmp.KThF5sbRsC /tmp/tmp.bV1h99La5K + return 0 + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbs" + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbs" + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.A6k0Nt3cNT ++ mktemp + local LAST_ERR=/tmp/tmp.MLRbfRpqsn + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.A6k0Nt3cNT + cat /tmp/tmp.MLRbfRpqsn + rm /tmp/tmp.A6k0Nt3cNT /tmp/tmp.MLRbfRpqsn + return 0 + local rbac_yaml=rbac.yaml + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac.yaml + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.Qy1SXfHzUc ++ mktemp + local LAST_ERR=/tmp/tmp.6UWBm3ykpK + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Qy1SXfHzUc clusterrole.rbac.authorization.k8s.io "percona-server-mongodb-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "service-account-percona-server-mongodb-operator" deleted + cat /tmp/tmp.6UWBm3ykpK + rm /tmp/tmp.Qy1SXfHzUc /tmp/tmp.6UWBm3ykpK + return 0 + check_crd_for_deletion PR-1569-eb818ce7 + local git_tag=PR-1569-eb818ce7 ++ /usr/bin/sed s/---//g ++ /usr/bin/sed ':a;N;$!ba;s/\n/ /g' ++ yq eval .metadata.name ++ curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/PR-1569-eb818ce7/deploy/crd.yaml + for crd_name in '$(curl -s https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/${git_tag}/deploy/crd.yaml | yq eval '\''.metadata.name'\'' | $sed '\''s/---//g'\'' | $sed '\'':a;N;$!ba;s/\n/ /g'\'')' ++ kubectl_bin get crd/null -o 'jsonpath={.status.conditions[-1].type}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.AMFeg5xgH4 +++ mktemp ++ local LAST_ERR=/tmp/tmp.bY0CxFo2zh ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.AMFeg5xgH4 ++ cat /tmp/tmp.bY0CxFo2zh Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 0 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.AMFeg5xgH4 ++ cat /tmp/tmp.bY0CxFo2zh Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 4 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get crd/null -o 'jsonpath={.status.conditions[-1].type}' ++ exit_status=1 ++ set -e ++ '[' 1 '!=' 0 -a -n 1 ']' ++ cat /tmp/tmp.AMFeg5xgH4 ++ cat /tmp/tmp.bY0CxFo2zh Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ sleep 8 ++ cat /tmp/tmp.AMFeg5xgH4 ++ cat /tmp/tmp.bY0CxFo2zh Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "null" not found ++ rm /tmp/tmp.AMFeg5xgH4 /tmp/tmp.bY0CxFo2zh ++ return 1 + [[ '' == \T\e\r\m\i\n\a\t\i\n\g ]] + '[' -n psmdb-operator ']' + create_namespace psmdb-operator + local namespace=psmdb-operator + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ helm list --all-namespaces --filter chaos-mesh ++ sed s/NAMESPACE// ++ tail -n1 ++ awk '-F ' '{print $2}' + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ kubectl get MutatingWebhookConfiguration ++ awk '{print $1}' ++ grep chaos-mesh + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep chaos-mesh ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ grep validate-auth ++ awk '{print $1}' + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ awk '{print $1}' ++ kubectl api-resources ++ grep chaos-mesh ++ grep chaos-mesh.org ++ awk '{print $1}' ++ kubectl get crd + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ awk '{print $1}' ++ grep chaos-mesh ++ kubectl get clusterrolebinding + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get clusterrole + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + '[' -n '' ']' + desc 'cleaned up old namespaces psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin delete namespace psmdb-operator --ignore-not-found + kubectl_bin get ns + xargs kubectl delete ns + awk '{print$1}' ++ mktemp ++ mktemp + local LAST_OUT=/tmp/tmp.8lz25N4WgZ + egrep -v '^kube-|^default|Terminating|psmdb-operator|openshift|gke-mcs|^NAME' ++ mktemp + local LAST_ERR=/tmp/tmp.0AXS87NGBU + local exit_status=0 + local timeout=4 + local LAST_OUT=/tmp/tmp.8CbEPUnmsE ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete namespace psmdb-operator --ignore-not-found ++ mktemp + local LAST_ERR=/tmp/tmp.qvIdeQi7wG + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get ns + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8CbEPUnmsE + cat /tmp/tmp.qvIdeQi7wG + rm /tmp/tmp.8CbEPUnmsE /tmp/tmp.qvIdeQi7wG + return 0 namespace "pitr-physical-17514" deleted + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.8lz25N4WgZ namespace "psmdb-operator" deleted + cat /tmp/tmp.0AXS87NGBU + rm /tmp/tmp.8lz25N4WgZ /tmp/tmp.0AXS87NGBU + return 0 + kubectl_bin wait --for=delete namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.qyARU7gxOk ++ mktemp + local LAST_ERR=/tmp/tmp.y7jZfqd2HF + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.qyARU7gxOk + cat /tmp/tmp.y7jZfqd2HF + rm /tmp/tmp.qyARU7gxOk /tmp/tmp.y7jZfqd2HF + return 0 + desc 'create namespace psmdb-operator' + set +o xtrace ----------------------------------------------------------------------------------- create namespace psmdb-operator ----------------------------------------------------------------------------------- + kubectl_bin create namespace psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.1mw4BEw8gI ++ mktemp + local LAST_ERR=/tmp/tmp.4yn67Pli53 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl create namespace psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1mw4BEw8gI namespace/psmdb-operator created + cat /tmp/tmp.4yn67Pli53 + rm /tmp/tmp.1mw4BEw8gI /tmp/tmp.4yn67Pli53 + return 0 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.kz9Iv751tp +++ mktemp ++ local LAST_ERR=/tmp/tmp.5IrBLuT9iZ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.kz9Iv751tp ++ cat /tmp/tmp.5IrBLuT9iZ ++ rm /tmp/tmp.kz9Iv751tp /tmp/tmp.5IrBLuT9iZ ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1569-eb818ce7-1-cluster6 --namespace=psmdb-operator ++ mktemp + local LAST_OUT=/tmp/tmp.9EHuszsTdV ++ mktemp + local LAST_ERR=/tmp/tmp.mxIfiv1s5M + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1569-eb818ce7-1-cluster6 --namespace=psmdb-operator + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.9EHuszsTdV Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1569-eb818ce7-1-cluster6" modified. + cat /tmp/tmp.mxIfiv1s5M + rm /tmp/tmp.9EHuszsTdV /tmp/tmp.mxIfiv1s5M + return 0 + deploy_operator + desc 'start PSMDB operator' + set +o xtrace ----------------------------------------------------------------------------------- start PSMDB operator ----------------------------------------------------------------------------------- + local cr_file + '[' -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/conf/crd.yaml ']' + cr_file=/mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/crd.yaml + kubectl_bin apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/crd.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.hiiyrGCtXN ++ mktemp + local LAST_ERR=/tmp/tmp.DQ6FttiCVo + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply --server-side --force-conflicts -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/crd.yaml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.hiiyrGCtXN customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com serverside-applied customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com serverside-applied + cat /tmp/tmp.DQ6FttiCVo + rm /tmp/tmp.hiiyrGCtXN /tmp/tmp.DQ6FttiCVo + return 0 + '[' -n psmdb-operator ']' + apply_rbac cw-rbac + local operator_namespace=psmdb-operator + local rbac=cw-rbac + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/cw-rbac.yaml + sed -e 's^namespace: .*^namespace: psmdb-operator^' + kubectl_bin apply -n psmdb-operator -f - ++ mktemp + local LAST_OUT=/tmp/tmp.WgqAwMgrne ++ mktemp + local LAST_ERR=/tmp/tmp.VTphhDGrBm + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -n psmdb-operator -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.WgqAwMgrne clusterrole.rbac.authorization.k8s.io/percona-server-mongodb-operator created serviceaccount/percona-server-mongodb-operator created clusterrolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator created + cat /tmp/tmp.VTphhDGrBm + rm /tmp/tmp.WgqAwMgrne /tmp/tmp.VTphhDGrBm + return 0 + kubectl_bin apply -f - + yq eval ' (.spec.template.spec.containers[].image = "perconalab/percona-server-mongodb-operator:PR-1569-eb818ce7") | ((.. | select(.[] == "DISABLE_TELEMETRY")) |= .value="true") | ((.. | select(.[] == "LOG_LEVEL")) |= .value="DEBUG")' /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/cw-operator.yaml ++ mktemp + local LAST_OUT=/tmp/tmp.iCcnXoOrdR ++ mktemp + local LAST_ERR=/tmp/tmp.8lNhzGpjzr + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.iCcnXoOrdR deployment.apps/percona-server-mongodb-operator created + cat /tmp/tmp.8lNhzGpjzr + rm /tmp/tmp.iCcnXoOrdR /tmp/tmp.8lNhzGpjzr + return 0 + sleep 2 ++ get_operator_pod ++ kubectl_bin get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator +++ mktemp ++ local LAST_OUT=/tmp/tmp.CaLrszXIJH +++ mktemp ++ local LAST_ERR=/tmp/tmp.GTPBR3nh1O ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=percona-server-mongodb-operator -o 'jsonpath={.items[].metadata.name}' -n psmdb-operator ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.CaLrszXIJH ++ cat /tmp/tmp.GTPBR3nh1O ++ rm /tmp/tmp.CaLrszXIJH /tmp/tmp.GTPBR3nh1O ++ return 0 + wait_pod percona-server-mongodb-operator-8d99b8f59-7h9bv + local pod=percona-server-mongodb-operator-8d99b8f59-7h9bv + set +o xtrace waiting for pod/percona-server-mongodb-operator-8d99b8f59-7h9bv to be ready.OK + create_namespace pitr-physical-20459 + local namespace=pitr-physical-20459 + local skip_clean_namespace= + [[ 1 == 1 ]] + [[ -z '' ]] + destroy_chaos_mesh ++ sed s/NAMESPACE// ++ awk '-F ' '{print $2}' ++ tail -n1 ++ helm list --all-namespaces --filter chaos-mesh + local chaos_mesh_ns= + desc 'destroy chaos-mesh' + set +o xtrace ----------------------------------------------------------------------------------- destroy chaos-mesh ----------------------------------------------------------------------------------- + '[' -n '' ']' ++ grep chaos-mesh ++ kubectl get MutatingWebhookConfiguration ++ awk '{print $1}' + timeout 30 kubectl delete MutatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ grep chaos-mesh ++ awk '{print $1}' ++ kubectl get ValidatingWebhookConfiguration + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl get ValidatingWebhookConfiguration ++ awk '{print $1}' ++ grep validate-auth + timeout 30 kubectl delete ValidatingWebhookConfiguration error: resource(s) were provided, but no name was specified + : ++ kubectl api-resources ++ awk '{print $1}' ++ grep chaos-mesh ++ kubectl get crd ++ grep chaos-mesh.org ++ awk '{print $1}' + timeout 30 kubectl delete crd error: resource(s) were provided, but no name was specified + : ++ awk '{print $1}' ++ kubectl get clusterrolebinding ++ grep chaos-mesh + timeout 30 kubectl delete clusterrolebinding error: resource(s) were provided, but no name was specified + : ++ awk '{print $1}' ++ kubectl get clusterrole ++ grep chaos-mesh + timeout 30 kubectl delete clusterrole error: resource(s) were provided, but no name was specified + : + desc 'cleaned up all old namespaces' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up all old namespaces ----------------------------------------------------------------------------------- + '[' -n '' ']' + desc 'cleaned up old namespaces pitr-physical-20459' + set +o xtrace ----------------------------------------------------------------------------------- cleaned up old namespaces pitr-physical-20459 ----------------------------------------------------------------------------------- + kubectl_bin delete namespace pitr-physical-20459 --ignore-not-found ++ mktemp + awk '{print$1}' + kubectl_bin get ns + xargs kubectl delete ns + egrep -v '^kube-|^default|Terminating|psmdb-operator|openshift|gke-mcs|^NAME' + local LAST_OUT=/tmp/tmp.ePOCOkxoGc ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.i5SPPbllGp + local exit_status=0 + local timeout=4 + local LAST_OUT=/tmp/tmp.Ljg8bfabyg ++ seq 0 2 ++ mktemp + for i in '$(seq 0 2)' + set +e + kubectl delete namespace pitr-physical-20459 --ignore-not-found + local LAST_ERR=/tmp/tmp.2ZDDC046kw + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl get ns + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ePOCOkxoGc + cat /tmp/tmp.i5SPPbllGp + rm /tmp/tmp.ePOCOkxoGc /tmp/tmp.i5SPPbllGp + return 0 + kubectl_bin wait --for=delete namespace pitr-physical-20459 ++ mktemp + local LAST_OUT=/tmp/tmp.kyFFgrK3Eh ++ mktemp + local LAST_ERR=/tmp/tmp.O9U7YWhA3H + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete namespace pitr-physical-20459 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Ljg8bfabyg + cat /tmp/tmp.2ZDDC046kw + rm /tmp/tmp.Ljg8bfabyg /tmp/tmp.2ZDDC046kw + return 0 error: resource(s) were provided, but no name was specified + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.kyFFgrK3Eh + cat /tmp/tmp.O9U7YWhA3H + rm /tmp/tmp.kyFFgrK3Eh /tmp/tmp.O9U7YWhA3H + return 0 + desc 'create namespace pitr-physical-20459' + set +o xtrace ----------------------------------------------------------------------------------- create namespace pitr-physical-20459 ----------------------------------------------------------------------------------- + kubectl_bin create namespace pitr-physical-20459 ++ mktemp + local LAST_OUT=/tmp/tmp.tnZVr0uo4j ++ mktemp + local LAST_ERR=/tmp/tmp.3cJuOC6zSO + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl create namespace pitr-physical-20459 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.tnZVr0uo4j namespace/pitr-physical-20459 created + cat /tmp/tmp.3cJuOC6zSO + rm /tmp/tmp.tnZVr0uo4j /tmp/tmp.3cJuOC6zSO + return 0 ++ kubectl_bin config current-context +++ mktemp ++ local LAST_OUT=/tmp/tmp.jbLOME5H4K +++ mktemp ++ local LAST_ERR=/tmp/tmp.W9FlRgDdv0 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl config current-context ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.jbLOME5H4K ++ cat /tmp/tmp.W9FlRgDdv0 ++ rm /tmp/tmp.jbLOME5H4K /tmp/tmp.W9FlRgDdv0 ++ return 0 + kubectl_bin config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1569-eb818ce7-1-cluster6 --namespace=pitr-physical-20459 ++ mktemp + local LAST_OUT=/tmp/tmp.3Y5UyhOjRV ++ mktemp + local LAST_ERR=/tmp/tmp.kLJMG0rlwr + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl config set-context gke_cloud-dev-112233_us-central1-a_jen-psmdb-1569-eb818ce7-1-cluster6 --namespace=pitr-physical-20459 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.3Y5UyhOjRV Context "gke_cloud-dev-112233_us-central1-a_jen-psmdb-1569-eb818ce7-1-cluster6" modified. + cat /tmp/tmp.kLJMG0rlwr + rm /tmp/tmp.3Y5UyhOjRV /tmp/tmp.kLJMG0rlwr + return 0 + deploy_minio + desc 'install Minio' + set +o xtrace ----------------------------------------------------------------------------------- install Minio ----------------------------------------------------------------------------------- + helm uninstall minio-service Error: uninstall: Release not loaded: minio-service: release: not found + : + helm repo remove minio "minio" has been removed from your repositories + helm repo add minio https://charts.min.io/ "minio" has been added to your repositories + retry 10 60 helm install minio-service --version 5.0.14 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/.minio/ --set persistence.size=2G --set securityContext.enabled=false minio/minio + local max=10 + local delay=60 + shift 2 + local n=1 + helm install minio-service --version 5.0.14 --set replicas=1 --set mode=standalone --set resources.requests.memory=256Mi --set rootUser=rootuser --set rootPassword=rootpass123 --set 'users[0].accessKey=some-access-key' --set 'users[0].secretKey=some-secret-key' --set 'users[0].policy=consoleAdmin' --set service.type=ClusterIP --set configPathmc=/tmp/.minio/ --set persistence.size=2G --set securityContext.enabled=false minio/minio NAME: minio-service LAST DEPLOYED: Mon Jun 10 11:57:57 2024 NAMESPACE: pitr-physical-20459 STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: MinIO can be accessed via port 9000 on the following DNS name from within your cluster: minio-service.pitr-physical-20459.svc.cluster.local To access MinIO from localhost, run the below commands: 1. export POD_NAME=$(kubectl get pods --namespace pitr-physical-20459 -l "release=minio-service" -o jsonpath="{.items[0].metadata.name}") 2. kubectl port-forward $POD_NAME 9000 --namespace pitr-physical-20459 Read more about port forwarding here: http://kubernetes.io/docs/user-guide/kubectl/kubectl_port-forward/ You can now access MinIO server on http://localhost:9000. Follow the below steps to connect to MinIO server with mc client: 1. Download the MinIO mc client - https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart 2. export MC_HOST_minio-service-local=http://$(kubectl get secret --namespace pitr-physical-20459 minio-service -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace pitr-physical-20459 minio-service -o jsonpath="{.data.rootPassword}" | base64 --decode)@localhost:9000 3. mc ls minio-service-local ++ kubectl_bin get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.mShxL0IVog +++ mktemp ++ local LAST_ERR=/tmp/tmp.HiyqWkaxTq ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=release=minio-service -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.mShxL0IVog ++ cat /tmp/tmp.HiyqWkaxTq ++ rm /tmp/tmp.mShxL0IVog /tmp/tmp.HiyqWkaxTq ++ return 0 + MINIO_POD=minio-service-57dd49b-jz2tm + wait_pod minio-service-57dd49b-jz2tm + local pod=minio-service-57dd49b-jz2tm + set +o xtrace waiting for pod/minio-service-57dd49b-jz2tm to be ready.OK + '[' -n psmdb-operator ']' + kubectl_bin create svc -n psmdb-operator externalname minio-service --external-name=minio-service.pitr-physical-20459.svc.cluster.local --tcp=9000 ++ mktemp + local LAST_OUT=/tmp/tmp.jFXnDUSZUw ++ mktemp + local LAST_ERR=/tmp/tmp.AACVGeLDvX + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl create svc -n psmdb-operator externalname minio-service --external-name=minio-service.pitr-physical-20459.svc.cluster.local --tcp=9000 + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.jFXnDUSZUw service/minio-service created + cat /tmp/tmp.AACVGeLDvX + rm /tmp/tmp.jFXnDUSZUw /tmp/tmp.AACVGeLDvX + return 0 + kubectl_bin run -i --rm aws-cli --image=perconalab/awscli --restart=Never -- bash -c 'AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 \ /usr/bin/aws --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' ++ mktemp + local LAST_OUT=/tmp/tmp.9fgpRd9UjA ++ mktemp + local LAST_ERR=/tmp/tmp.JZxVYuoGUx + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl run -i --rm aws-cli --image=perconalab/awscli --restart=Never -- bash -c 'AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 \ /usr/bin/aws --endpoint-url http://minio-service:9000 s3 mb s3://operator-testing' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.9fgpRd9UjA make_bucket: operator-testing pod "aws-cli" deleted + cat /tmp/tmp.JZxVYuoGUx If you don't see a command prompt, try pressing enter. warning: couldn't attach to pod/aws-cli, falling back to streaming logs: unable to upgrade connection: container aws-cli not found in pod aws-cli_pitr-physical-20459 + rm /tmp/tmp.9fgpRd9UjA /tmp/tmp.JZxVYuoGUx + return 0 + desc 'create secrets and start client' + set +o xtrace ----------------------------------------------------------------------------------- create secrets and start client ----------------------------------------------------------------------------------- + kubectl_bin apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/conf/minio-secret.yml ++ mktemp + local LAST_OUT=/tmp/tmp.Q0qGZidhLD ++ mktemp + local LAST_ERR=/tmp/tmp.I3OtIeWhKh + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/conf/secrets.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/conf/client.yml -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/conf/minio-secret.yml + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.Q0qGZidhLD secret/some-users created deployment.apps/psmdb-client created secret/minio-secret created + cat /tmp/tmp.I3OtIeWhKh + rm /tmp/tmp.Q0qGZidhLD /tmp/tmp.I3OtIeWhKh + return 0 + cluster=some-name + desc 'create first PSMDB cluster some-name' + set +o xtrace ----------------------------------------------------------------------------------- create first PSMDB cluster some-name ----------------------------------------------------------------------------------- + apply_cluster /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/conf/some-name-rs0.yml + '[' -z '' ']' + cat_config /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/conf/some-name-rs0.yml + kubectl_bin apply -f - + yq eval '(.spec | select(.image == null)).image = "perconalab/percona-server-mongodb-operator:main-mongod7.0"' + yq eval '(.spec | select(has("pmm"))).pmm.image = "perconalab/pmm-client:dev-latest"' + yq eval '.spec.upgradeOptions.apply="Never"' + yq eval '(.spec | select(has("backup"))).backup.image = "perconalab/percona-server-mongodb-operator:main-backup"' + yq eval '(.spec | select(has("initImage"))).initImage = "perconalab/percona-server-mongodb-operator:PR-1569-eb818ce7"' ++ mktemp + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/conf/some-name-rs0.yml + local LAST_OUT=/tmp/tmp.1MlXwGwTxT ++ mktemp + local LAST_ERR=/tmp/tmp.qxX0EwUXZh + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.1MlXwGwTxT perconaservermongodb.psmdb.percona.com/some-name created + cat /tmp/tmp.qxX0EwUXZh + rm /tmp/tmp.1MlXwGwTxT /tmp/tmp.qxX0EwUXZh + return 0 + desc 'check if all 3 Pods started' + set +o xtrace ----------------------------------------------------------------------------------- check if all 3 Pods started ----------------------------------------------------------------------------------- + wait_for_running some-name-rs0 3 + local name=some-name-rs0 + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=rs0 + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-rs0-0 + local pod=some-name-rs0-0 + set +o xtrace waiting for pod/some-name-rs0-0 to be ready........OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-rs0-1 + local pod=some-name-rs0-1 + set +o xtrace waiting for pod/some-name-rs0-1 to be ready......OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.6HCMz4jJQl +++ mktemp ++ local LAST_ERR=/tmp/tmp.73F2f3yLWd ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.6HCMz4jJQl ++ cat /tmp/tmp.73F2f3yLWd ++ rm /tmp/tmp.6HCMz4jJQl /tmp/tmp.73F2f3yLWd ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-rs0-2 + local pod=some-name-rs0-2 + set +o xtrace waiting for pod/some-name-rs0-2 to be ready......OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.upAMwPe904 +++ mktemp ++ local LAST_ERR=/tmp/tmp.4HlqU9SXDG ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="rs0")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.upAMwPe904 ++ cat /tmp/tmp.4HlqU9SXDG ++ rm /tmp/tmp.upAMwPe904 /tmp/tmp.4HlqU9SXDG ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness............................ + wait_for_running some-name-cfg 3 false + local name=some-name-cfg + let last_pod=2 + local check_cluster_readyness=false + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=cfg + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-cfg-0 + local pod=some-name-cfg-0 + set +o xtrace waiting for pod/some-name-cfg-0 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-cfg-1 + local pod=some-name-cfg-1 + set +o xtrace waiting for pod/some-name-cfg-1 to be ready.OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rluCHEQMkx +++ mktemp ++ local LAST_ERR=/tmp/tmp.qHQXaS075d ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.rluCHEQMkx ++ cat /tmp/tmp.qHQXaS075d ++ rm /tmp/tmp.rluCHEQMkx /tmp/tmp.qHQXaS075d ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-cfg-2 + local pod=some-name-cfg-2 + set +o xtrace waiting for pod/some-name-cfg-2 to be ready.OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.iXsdDP9c3D +++ mktemp ++ local LAST_ERR=/tmp/tmp.1kQ49UdUHo ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="cfg")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.iXsdDP9c3D ++ cat /tmp/tmp.1kQ49UdUHo ++ rm /tmp/tmp.iXsdDP9c3D /tmp/tmp.1kQ49UdUHo ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ false == \t\r\u\e ]] + sleep 10 + write_initial_data + desc 'create user myApp' + set +o xtrace ----------------------------------------------------------------------------------- create user myApp ----------------------------------------------------------------------------------- + run_mongos 'db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' userAdmin:userAdmin123456@some-name-mongos.pitr-physical-20459 + local 'command=db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})' + local uri=userAdmin:userAdmin123456@some-name-mongos.pitr-physical-20459 + local driver=mongodb + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.rYG8aAQsaV +++ mktemp ++ local LAST_ERR=/tmp/tmp.RxJ6Nz1ITz ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.rYG8aAQsaV ++ cat /tmp/tmp.RxJ6Nz1ITz ++ rm /tmp/tmp.rYG8aAQsaV /tmp/tmp.RxJ6Nz1ITz ++ return 0 + local client_container=psmdb-client-7469665986-n9vpl + local mongo_flag= + kubectl_bin exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.KkxkmFunt9 ++ mktemp + local LAST_ERR=/tmp/tmp.Q3aXvkjzhH + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''db.createUser({user:"myApp",pwd:"myPass",roles:[{db:"myApp",role:"readWrite"}]})\n'\'' | mongo mongodb://userAdmin:userAdmin123456@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.KkxkmFunt9 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-20459.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("611a0554-02df-4684-947c-4a3a89022604") } Percona Server for MongoDB server version: v7.0.11-6 WARNING: shell and server versions do not match Successfully added user: { "user" : "myApp", "roles" : [ { "db" : "myApp", "role" : "readWrite" } ] } bye + cat /tmp/tmp.Q3aXvkjzhH + rm /tmp/tmp.KkxkmFunt9 /tmp/tmp.Q3aXvkjzhH + return 0 + sleep 2 + write_document + local cmp_postfix= + desc 'write initial data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write initial data, read from all ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-20459 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local driver=mongodb + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.BGPX6c3p5Z +++ mktemp ++ local LAST_ERR=/tmp/tmp.zfM1xkemL6 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.BGPX6c3p5Z ++ cat /tmp/tmp.zfM1xkemL6 ++ rm /tmp/tmp.BGPX6c3p5Z /tmp/tmp.zfM1xkemL6 ++ return 0 + local client_container=psmdb-client-7469665986-n9vpl + local mongo_flag= + kubectl_bin exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.BG0iTd12Fh ++ mktemp + local LAST_ERR=/tmp/tmp.Kr2cOMzrT8 + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.BG0iTd12Fh Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-20459.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("74dec628-260b-46d6-b7a9-6f69371993cb") } Percona Server for MongoDB server version: v7.0.11-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.Kr2cOMzrT8 + rm /tmp/tmp.BG0iTd12Fh /tmp/tmp.Kr2cOMzrT8 + return 0 + minikube_sleep + sleep_time=10 + [[ '' == 1 ]] + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-20459 + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local postfix= + local suffix= + local database=myApp + local collection=test + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-20459 mongodb '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local driver=mongodb + local suffix=.svc.cluster.local + egrep -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:' + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.sZO4PoEiqF +++ mktemp ++ local LAST_ERR=/tmp/tmp.96Gr7Mm4L8 ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.sZO4PoEiqF ++ cat /tmp/tmp.96Gr7Mm4L8 ++ rm /tmp/tmp.sZO4PoEiqF /tmp/tmp.96Gr7Mm4L8 ++ return 0 + local client_container=psmdb-client-7469665986-n9vpl + local mongo_flag= + kubectl_bin exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.sG7X8Gu6Af ++ mktemp + local LAST_ERR=/tmp/tmp.M2nZ65Gwui + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.sG7X8Gu6Af + cat /tmp/tmp.M2nZ65Gwui + rm /tmp/tmp.sG7X8Gu6Af /tmp/tmp.M2nZ65Gwui + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/compare/find.json /tmp/tmp.fggtyfuEtn/find + wait_backup_agent some-name-rs0-0 + local agent_pod=some-name-rs0-0 + set +o xtrace some-name-rs0-0 + wait_backup_agent some-name-rs0-1 + local agent_pod=some-name-rs0-1 + set +o xtrace some-name-rs0-1 + wait_backup_agent some-name-rs0-2 + local agent_pod=some-name-rs0-2 + set +o xtrace some-name-rs0-2 + wait_backup_agent some-name-rs1-0 + local agent_pod=some-name-rs1-0 + set +o xtrace some-name-rs1-0 + wait_backup_agent some-name-rs1-1 + local agent_pod=some-name-rs1-1 + set +o xtrace some-name-rs1-1 + wait_backup_agent some-name-rs1-2 + local agent_pod=some-name-rs1-2 + set +o xtrace some-name-rs1-2 + wait_backup_agent some-name-rs2-0 + local agent_pod=some-name-rs2-0 + set +o xtrace some-name-rs2-0 + wait_backup_agent some-name-rs2-1 + local agent_pod=some-name-rs2-1 + set +o xtrace some-name-rs2-1 + wait_backup_agent some-name-rs2-2 + local agent_pod=some-name-rs2-2 + set +o xtrace some-name-rs2-2 + backup_name_minio=backup-minio + sleep 360 + run_backup backup-minio 1 physical + local name=backup-minio + local idx=1 + local type=physical + desc 'run backup backup-minio-1' + set +o xtrace ----------------------------------------------------------------------------------- run backup backup-minio-1 ----------------------------------------------------------------------------------- + /usr/bin/sed -e 's/name:/name: backup-minio-1/' + /usr/bin/sed -e 's/type:/type: physical/' + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/conf/backup-minio.yml ++ mktemp + local LAST_OUT=/tmp/tmp.hmuc9UnnAZ ++ mktemp + local LAST_ERR=/tmp/tmp.N9JLiBqeYB + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.hmuc9UnnAZ perconaservermongodbbackup.psmdb.percona.com/backup-minio-1 created + cat /tmp/tmp.N9JLiBqeYB + rm /tmp/tmp.hmuc9UnnAZ /tmp/tmp.N9JLiBqeYB + return 0 + wait_backup backup-minio-1 + local backup_name=backup-minio-1 + set +o xtrace backup-minio-1................ + sleep 5 + write_document -2nd + local cmp_postfix=-2nd + desc 'write initial data, read from all' + set +o xtrace ----------------------------------------------------------------------------------- write initial data, read from all ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.insert({ x: 100500 })' myApp:myPass@some-name-mongos.pitr-physical-20459 + local 'command=use myApp\n db.test.insert({ x: 100500 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local driver=mongodb + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.H0KM65ZGhT +++ mktemp ++ local LAST_ERR=/tmp/tmp.jLQxVRez2B ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.H0KM65ZGhT ++ cat /tmp/tmp.jLQxVRez2B ++ rm /tmp/tmp.H0KM65ZGhT /tmp/tmp.jLQxVRez2B ++ return 0 + local client_container=psmdb-client-7469665986-n9vpl + local mongo_flag= + kubectl_bin exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.ncjsDSWxf4 ++ mktemp + local LAST_ERR=/tmp/tmp.zYrd1X7mbi + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100500 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.ncjsDSWxf4 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-20459.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("0b6d527d-a35e-4060-b91a-1b653ac6595a") } Percona Server for MongoDB server version: v7.0.11-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.zYrd1X7mbi + rm /tmp/tmp.ncjsDSWxf4 /tmp/tmp.zYrd1X7mbi + return 0 + minikube_sleep + sleep_time=10 + [[ '' == 1 ]] + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-20459 -2nd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local postfix=-2nd + local suffix= + local database=myApp + local collection=test + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-20459 mongodb '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local driver=mongodb + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.PQzXxtTBrw +++ mktemp ++ local LAST_ERR=/tmp/tmp.vSYsO6xsFZ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 + egrep -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:' ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.PQzXxtTBrw ++ cat /tmp/tmp.vSYsO6xsFZ ++ rm /tmp/tmp.PQzXxtTBrw /tmp/tmp.vSYsO6xsFZ ++ return 0 + local client_container=psmdb-client-7469665986-n9vpl + local mongo_flag= + kubectl_bin exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.hS6Br3mE0Y ++ mktemp + local LAST_ERR=/tmp/tmp.bAtntQhGJg + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.hS6Br3mE0Y + cat /tmp/tmp.bAtntQhGJg + rm /tmp/tmp.hS6Br3mE0Y /tmp/tmp.bAtntQhGJg + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/compare/find-2nd.json /tmp/tmp.fggtyfuEtn/find-2nd ++ jq '.backups.snapshot[0].restoreTo' ++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ mktemp ++ local LAST_OUT=/tmp/tmp.S1yze12YKF +++ mktemp ++ local LAST_ERR=/tmp/tmp.tXGHt1bvwt ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.S1yze12YKF ++ cat /tmp/tmp.tXGHt1bvwt ++ rm /tmp/tmp.S1yze12YKF /tmp/tmp.tXGHt1bvwt ++ return 0 + backup_last_write=1718021306 ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.ShrS0bJgHw ++++ mktemp +++ local LAST_ERR=/tmp/tmp.I34x0POiFF +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.ShrS0bJgHw +++ cat /tmp/tmp.I34x0POiFF +++ rm /tmp/tmp.ShrS0bJgHw /tmp/tmp.I34x0POiFF +++ return 0 ++ echo null + last_chunk=null + retries=0 + [[ null -gt 1718021306 ]] + [[ 0 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Of8FPpjKaV ++++ mktemp +++ local LAST_ERR=/tmp/tmp.J6kxWXIN4w +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Of8FPpjKaV +++ cat /tmp/tmp.J6kxWXIN4w +++ rm /tmp/tmp.Of8FPpjKaV /tmp/tmp.J6kxWXIN4w +++ return 0 ++ echo null + last_chunk=null + retries=1 ++ format_date null ++ local timestamp=null +++ TZ=UTC +++ /usr/bin/date -d@null '+%Y-%m-%d %H:%M:%S' /usr/bin/date: invalid date ‘@null’ ++ echo ++ format_date 1718021306 ++ local timestamp=1718021306 +++ TZ=UTC +++ /usr/bin/date -d@1718021306 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:08:26 + echo 'Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26)' Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26) + sleep 10 + [[ null -gt 1718021306 ]] + [[ 1 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.FUIK3e8pkH ++++ mktemp +++ local LAST_ERR=/tmp/tmp.6PIQEWxmQB +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.FUIK3e8pkH +++ cat /tmp/tmp.6PIQEWxmQB +++ rm /tmp/tmp.FUIK3e8pkH /tmp/tmp.6PIQEWxmQB +++ return 0 ++ echo null + last_chunk=null + retries=2 ++ format_date null ++ local timestamp=null +++ TZ=UTC +++ /usr/bin/date -d@null '+%Y-%m-%d %H:%M:%S' /usr/bin/date: invalid date ‘@null’ ++ echo ++ format_date 1718021306 ++ local timestamp=1718021306 +++ TZ=UTC +++ /usr/bin/date -d@1718021306 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:08:26 + echo 'Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26)' Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26) + sleep 10 + [[ null -gt 1718021306 ]] + [[ 2 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.a6OnFFZCZp ++++ mktemp +++ local LAST_ERR=/tmp/tmp.kbNr0LhLDU +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.a6OnFFZCZp +++ cat /tmp/tmp.kbNr0LhLDU +++ rm /tmp/tmp.a6OnFFZCZp /tmp/tmp.kbNr0LhLDU +++ return 0 ++ echo null + last_chunk=null + retries=3 ++ format_date null ++ local timestamp=null +++ TZ=UTC +++ /usr/bin/date -d@null '+%Y-%m-%d %H:%M:%S' /usr/bin/date: invalid date ‘@null’ ++ echo ++ format_date 1718021306 ++ local timestamp=1718021306 +++ TZ=UTC +++ /usr/bin/date -d@1718021306 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:08:26 + echo 'Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26)' Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26) + sleep 10 + [[ null -gt 1718021306 ]] + [[ 3 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.GZcuLXIGFb ++++ mktemp +++ local LAST_ERR=/tmp/tmp.f1rJaUN3Xx +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.GZcuLXIGFb +++ cat /tmp/tmp.f1rJaUN3Xx +++ rm /tmp/tmp.GZcuLXIGFb /tmp/tmp.f1rJaUN3Xx +++ return 0 ++ echo null + last_chunk=null + retries=4 ++ format_date null ++ local timestamp=null +++ TZ=UTC +++ /usr/bin/date -d@null '+%Y-%m-%d %H:%M:%S' /usr/bin/date: invalid date ‘@null’ ++ echo ++ format_date 1718021306 ++ local timestamp=1718021306 +++ TZ=UTC +++ /usr/bin/date -d@1718021306 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:08:26 + echo 'Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26)' Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26) + sleep 10 + [[ null -gt 1718021306 ]] + [[ 4 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.eBRQfsWqo9 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.nM0ZPBxOp2 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.eBRQfsWqo9 +++ cat /tmp/tmp.nM0ZPBxOp2 +++ rm /tmp/tmp.eBRQfsWqo9 /tmp/tmp.nM0ZPBxOp2 +++ return 0 ++ echo null + last_chunk=null + retries=5 ++ format_date null ++ local timestamp=null +++ TZ=UTC +++ /usr/bin/date -d@null '+%Y-%m-%d %H:%M:%S' /usr/bin/date: invalid date ‘@null’ ++ echo ++ format_date 1718021306 ++ local timestamp=1718021306 +++ TZ=UTC +++ /usr/bin/date -d@1718021306 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:08:26 + echo 'Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26)' Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26) + sleep 10 + [[ null -gt 1718021306 ]] + [[ 5 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.pPXbiTuCTd ++++ mktemp +++ local LAST_ERR=/tmp/tmp.PGa74pa2RE +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.pPXbiTuCTd +++ cat /tmp/tmp.PGa74pa2RE +++ rm /tmp/tmp.pPXbiTuCTd /tmp/tmp.PGa74pa2RE +++ return 0 ++ echo null + last_chunk=null + retries=6 ++ format_date null ++ local timestamp=null +++ TZ=UTC +++ /usr/bin/date -d@null '+%Y-%m-%d %H:%M:%S' /usr/bin/date: invalid date ‘@null’ ++ echo ++ format_date 1718021306 ++ local timestamp=1718021306 +++ TZ=UTC +++ /usr/bin/date -d@1718021306 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:08:26 + echo 'Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26)' Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26) + sleep 10 + [[ null -gt 1718021306 ]] + [[ 6 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Kq4BUZoGhm ++++ mktemp +++ local LAST_ERR=/tmp/tmp.iB7osoCra7 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Kq4BUZoGhm +++ cat /tmp/tmp.iB7osoCra7 +++ rm /tmp/tmp.Kq4BUZoGhm /tmp/tmp.iB7osoCra7 +++ return 0 ++ echo null + last_chunk=null + retries=7 ++ format_date null ++ local timestamp=null +++ TZ=UTC +++ /usr/bin/date -d@null '+%Y-%m-%d %H:%M:%S' /usr/bin/date: invalid date ‘@null’ ++ echo ++ format_date 1718021306 ++ local timestamp=1718021306 +++ TZ=UTC +++ /usr/bin/date -d@1718021306 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:08:26 + echo 'Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26)' Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26) + sleep 10 + [[ null -gt 1718021306 ]] + [[ 7 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.QoeZg296LS ++++ mktemp +++ local LAST_ERR=/tmp/tmp.mMvb2BOBwp +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.QoeZg296LS +++ cat /tmp/tmp.mMvb2BOBwp +++ rm /tmp/tmp.QoeZg296LS /tmp/tmp.mMvb2BOBwp +++ return 0 ++ echo null + last_chunk=null + retries=8 ++ format_date null ++ local timestamp=null +++ TZ=UTC +++ /usr/bin/date -d@null '+%Y-%m-%d %H:%M:%S' /usr/bin/date: invalid date ‘@null’ ++ echo ++ format_date 1718021306 ++ local timestamp=1718021306 +++ TZ=UTC +++ /usr/bin/date -d@1718021306 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:08:26 + echo 'Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26)' Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26) + sleep 10 + [[ null -gt 1718021306 ]] + [[ 8 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.R4WskUq56v ++++ mktemp +++ local LAST_ERR=/tmp/tmp.RtE8Fa6eVC +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.R4WskUq56v +++ cat /tmp/tmp.RtE8Fa6eVC +++ rm /tmp/tmp.R4WskUq56v /tmp/tmp.RtE8Fa6eVC +++ return 0 ++ echo null + last_chunk=null + retries=9 ++ format_date null ++ local timestamp=null +++ TZ=UTC +++ /usr/bin/date -d@null '+%Y-%m-%d %H:%M:%S' /usr/bin/date: invalid date ‘@null’ ++ echo ++ format_date 1718021306 ++ local timestamp=1718021306 +++ TZ=UTC +++ /usr/bin/date -d@1718021306 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:08:26 + echo 'Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26)' Waiting for last oplog chunk () to be greater than last write (2024-06-10 12:08:26) + sleep 10 + [[ null -gt 1718021306 ]] + [[ 9 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.F4Cp2gWnGH ++++ mktemp +++ local LAST_ERR=/tmp/tmp.a6UGTp3U2k +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.F4Cp2gWnGH +++ cat /tmp/tmp.a6UGTp3U2k +++ rm /tmp/tmp.F4Cp2gWnGH /tmp/tmp.a6UGTp3U2k +++ return 0 ++ echo 1718021443 + last_chunk=1718021443 + retries=10 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 ++ format_date 1718021306 ++ local timestamp=1718021306 +++ TZ=UTC +++ /usr/bin/date -d@1718021306 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:08:26 + echo 'Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than last write (2024-06-10 12:08:26)' Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than last write (2024-06-10 12:08:26) + sleep 10 + [[ 1718021443 -gt 1718021306 ]] + check_recovery backup-minio-1 date 1718021443 -2nd some-name + local backup_name=backup-minio-1 + local restore_type=date + local restore_date=1718021443 + local cmp_postfix=-2nd + local cluster_name=some-name ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.oLvEKqoGso ++++ mktemp +++ local LAST_ERR=/tmp/tmp.FbBRvwKfWx +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.oLvEKqoGso +++ cat /tmp/tmp.FbBRvwKfWx +++ rm /tmp/tmp.oLvEKqoGso /tmp/tmp.FbBRvwKfWx +++ return 0 ++ echo 1718021443 + local latest_ts=1718021443 + desc 'write more data before restore by date' + set +o xtrace ----------------------------------------------------------------------------------- write more data before restore by date ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.insert({ x: 100501 })' myApp:myPass@some-name-mongos.pitr-physical-20459 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local driver=mongodb + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.Z952lIlJW3 +++ mktemp ++ local LAST_ERR=/tmp/tmp.ioOpnzDc2G ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.Z952lIlJW3 ++ cat /tmp/tmp.ioOpnzDc2G ++ rm /tmp/tmp.Z952lIlJW3 /tmp/tmp.ioOpnzDc2G ++ return 0 + local client_container=psmdb-client-7469665986-n9vpl + local mongo_flag= + kubectl_bin exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.vjO1aCJTx8 ++ mktemp + local LAST_ERR=/tmp/tmp.c75R5WGy5r + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.vjO1aCJTx8 Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-20459.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("8aa2c3c6-e6b6-42a9-992d-9baf70d1a090") } Percona Server for MongoDB server version: v7.0.11-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.c75R5WGy5r + rm /tmp/tmp.vjO1aCJTx8 /tmp/tmp.c75R5WGy5r + return 0 + [[ -n 1718021443 ]] ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 + desc 'Restoring to time 2024-06-10 12:10:43' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to time 2024-06-10 12:10:43 ----------------------------------------------------------------------------------- + retries=0 + [[ 1718021443 -gt 1718021443 ]] + [[ 0 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Glqfi3mMpM ++++ mktemp +++ local LAST_ERR=/tmp/tmp.3GXF9qnxAC +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Glqfi3mMpM +++ cat /tmp/tmp.3GXF9qnxAC +++ rm /tmp/tmp.Glqfi3mMpM /tmp/tmp.3GXF9qnxAC +++ return 0 ++ echo 1718021443 + latest_ts=1718021443 + retries=1 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 + echo 'Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43)' Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43) + sleep 10 + [[ 1718021443 -gt 1718021443 ]] + [[ 1 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.ATTOtAMsO3 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.NALX7IxTOU +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.ATTOtAMsO3 +++ cat /tmp/tmp.NALX7IxTOU +++ rm /tmp/tmp.ATTOtAMsO3 /tmp/tmp.NALX7IxTOU +++ return 0 ++ echo 1718021443 + latest_ts=1718021443 + retries=2 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 + echo 'Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43)' Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43) + sleep 10 + [[ 1718021443 -gt 1718021443 ]] + [[ 2 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.Pq3Nf2bIir ++++ mktemp +++ local LAST_ERR=/tmp/tmp.MMdnjJaadf +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.Pq3Nf2bIir +++ cat /tmp/tmp.MMdnjJaadf +++ rm /tmp/tmp.Pq3Nf2bIir /tmp/tmp.MMdnjJaadf +++ return 0 ++ echo 1718021443 + latest_ts=1718021443 + retries=3 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 + echo 'Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43)' Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43) + sleep 10 + [[ 1718021443 -gt 1718021443 ]] + [[ 3 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ local LAST_OUT=/tmp/tmp.SkFSyVYiJn ++++ mktemp +++ local LAST_ERR=/tmp/tmp.JKjCZiFwc4 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.SkFSyVYiJn +++ cat /tmp/tmp.JKjCZiFwc4 +++ rm /tmp/tmp.SkFSyVYiJn /tmp/tmp.JKjCZiFwc4 +++ return 0 ++ echo 1718021443 + latest_ts=1718021443 + retries=4 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 + echo 'Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43)' Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43) + sleep 10 + [[ 1718021443 -gt 1718021443 ]] + [[ 4 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.7zWnpZY0W3 +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_ERR=/tmp/tmp.KdP5z2mCh8 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.7zWnpZY0W3 +++ cat /tmp/tmp.KdP5z2mCh8 +++ rm /tmp/tmp.7zWnpZY0W3 /tmp/tmp.KdP5z2mCh8 +++ return 0 ++ echo 1718021443 + latest_ts=1718021443 + retries=5 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 + echo 'Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43)' Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43) + sleep 10 + [[ 1718021443 -gt 1718021443 ]] + [[ 5 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.xAJxKBZkab ++++ mktemp +++ local LAST_ERR=/tmp/tmp.7apCKTHz81 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.xAJxKBZkab +++ cat /tmp/tmp.7apCKTHz81 +++ rm /tmp/tmp.xAJxKBZkab /tmp/tmp.7apCKTHz81 +++ return 0 ++ echo 1718021443 + latest_ts=1718021443 + retries=6 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 + echo 'Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43)' Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43) + sleep 10 + [[ 1718021443 -gt 1718021443 ]] + [[ 6 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.TCcyM8NEuH ++++ mktemp +++ local LAST_ERR=/tmp/tmp.VueXnO79AK +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.TCcyM8NEuH +++ cat /tmp/tmp.VueXnO79AK +++ rm /tmp/tmp.TCcyM8NEuH /tmp/tmp.VueXnO79AK +++ return 0 ++ echo 1718021443 + latest_ts=1718021443 + retries=7 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 + echo 'Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43)' Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43) + sleep 10 + [[ 1718021443 -gt 1718021443 ]] + [[ 7 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.3tBmXcHlSG ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ZyQ8mDXa2M +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.3tBmXcHlSG +++ cat /tmp/tmp.ZyQ8mDXa2M +++ rm /tmp/tmp.3tBmXcHlSG /tmp/tmp.ZyQ8mDXa2M +++ return 0 ++ echo 1718021443 + latest_ts=1718021443 + retries=8 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 + echo 'Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43)' Waiting for last oplog chunk (2024-06-10 12:10:43) to be greater than restore target (2024-06-10 12:10:43) + sleep 10 + [[ 1718021443 -gt 1718021443 ]] + [[ 8 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ local LAST_OUT=/tmp/tmp.JVdezIDpm5 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.MxSkeIT3dY +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.JVdezIDpm5 +++ cat /tmp/tmp.MxSkeIT3dY +++ rm /tmp/tmp.JVdezIDpm5 /tmp/tmp.MxSkeIT3dY +++ return 0 ++ echo 1718021444 + latest_ts=1718021444 + retries=9 ++ format_date 1718021444 ++ local timestamp=1718021444 +++ TZ=UTC +++ /usr/bin/date -d@1718021444 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:44 ++ format_date 1718021443 ++ local timestamp=1718021443 +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:10:43 + echo 'Waiting for last oplog chunk (2024-06-10 12:10:44) to be greater than restore target (2024-06-10 12:10:43)' Waiting for last oplog chunk (2024-06-10 12:10:44) to be greater than restore target (2024-06-10 12:10:43) + sleep 10 + [[ 1718021444 -gt 1718021443 ]] + desc 'check restore by date' + set +o xtrace ----------------------------------------------------------------------------------- check restore by date ----------------------------------------------------------------------------------- + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/conf/restore.yml + /usr/bin/sed -e 's/name:/name: restore-backup-minio-1/' + kubectl_bin apply -f - + /usr/bin/sed -e 's/type:/type: date/' + '[' -z 1718021443 ']' ++ mktemp + /usr/bin/sed -e 's/backupName:/backupName: backup-minio-1/' ++ format_date 1718021443 ++ local timestamp=1718021443 + local LAST_OUT=/tmp/tmp.168K85XUHD ++ mktemp +++ TZ=UTC +++ /usr/bin/date -d@1718021443 '+%Y-%m-%d %H:%M:%S' + local LAST_ERR=/tmp/tmp.7cCqafYF49 + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ echo 2024-06-10 12:10:43 + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + /usr/bin/sed -e 's/date:/date: 2024-06-10 12:10:43/' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.168K85XUHD perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-1 created + cat /tmp/tmp.7cCqafYF49 + rm /tmp/tmp.168K85XUHD /tmp/tmp.7cCqafYF49 + return 0 + wait_restore backup-minio-1 some-name requested 0 900 + local backup_name=backup-minio-1 + local cluster_name=some-name + local target_state=requested + local wait_cluster_consistency=0 + local wait_time=900 + set +o xtrace waiting psmdb-restore/backup-minio-1 to reach requested state.................................................................................................................................. + '[' 0 -eq 1 ']' + echo + wait_restore backup-minio-1 some-name ready 0 1600 + local backup_name=backup-minio-1 + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=0 + local wait_time=1600 + set +o xtrace waiting psmdb-restore/backup-minio-1 to reach ready state................................................................ + '[' 0 -eq 1 ']' + echo + set -o xtrace + wait_for_running some-name-mongos 3 + local name=some-name-mongos + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=mongos + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-mongos-0 + local pod=some-name-mongos-0 + set +o xtrace waiting for pod/some-name-mongos-0 to be ready................OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-mongos-1 + local pod=some-name-mongos-1 + set +o xtrace waiting for pod/some-name-mongos-1 to be ready.....OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.bS6XkFdhCx +++ mktemp ++ local LAST_ERR=/tmp/tmp.py5dZJjh2z ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.bS6XkFdhCx ++ cat /tmp/tmp.py5dZJjh2z ++ rm /tmp/tmp.bS6XkFdhCx /tmp/tmp.py5dZJjh2z ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-mongos-2 + local pod=some-name-mongos-2 + set +o xtrace waiting for pod/some-name-mongos-2 to be ready.....OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.YGfmPQBb8A +++ mktemp ++ local LAST_ERR=/tmp/tmp.OADiEmScuf ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.YGfmPQBb8A ++ cat /tmp/tmp.OADiEmScuf ++ rm /tmp/tmp.YGfmPQBb8A /tmp/tmp.OADiEmScuf ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + sleep 10 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-20459 -2nd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local postfix=-2nd + local suffix= + local database=myApp + local collection=test + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-20459 mongodb '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local driver=mongodb + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp + egrep -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:' ++ local LAST_OUT=/tmp/tmp.rSixvj4Tme +++ mktemp ++ local LAST_ERR=/tmp/tmp.1T5Iaj9rgk ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.rSixvj4Tme ++ cat /tmp/tmp.1T5Iaj9rgk ++ rm /tmp/tmp.rSixvj4Tme /tmp/tmp.1T5Iaj9rgk ++ return 0 + local client_container=psmdb-client-7469665986-n9vpl + local mongo_flag= + kubectl_bin exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.NF1VxZaM7H ++ mktemp + local LAST_ERR=/tmp/tmp.27UeFmRhhI + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NF1VxZaM7H + cat /tmp/tmp.27UeFmRhhI + rm /tmp/tmp.NF1VxZaM7H /tmp/tmp.27UeFmRhhI + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/compare/find-2nd.json /tmp/tmp.fggtyfuEtn/find-2nd + run_backup backup-minio 3 physical + local name=backup-minio + local idx=3 + local type=physical + desc 'run backup backup-minio-3' + set +o xtrace ----------------------------------------------------------------------------------- run backup backup-minio-3 ----------------------------------------------------------------------------------- + /usr/bin/sed -e 's/name:/name: backup-minio-3/' + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/conf/backup-minio.yml + kubectl_bin apply -f - ++ mktemp + local LAST_OUT=/tmp/tmp.3oVhWiwuWl ++ mktemp + local LAST_ERR=/tmp/tmp.LAig8SCEbI + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + /usr/bin/sed -e 's/type:/type: physical/' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.3oVhWiwuWl perconaservermongodbbackup.psmdb.percona.com/backup-minio-3 created + cat /tmp/tmp.LAig8SCEbI + rm /tmp/tmp.3oVhWiwuWl /tmp/tmp.LAig8SCEbI + return 0 + wait_backup backup-minio-3 + local backup_name=backup-minio-3 + set +o xtrace backup-minio-3................. + sleep 5 + compare_latest_restorable_time some-name-rs0 backup-minio-3 + local cluster=some-name-rs0 + local backup_name=backup-minio-3 + local latest_restorable_time + local backup_time ++ get_latest_restorable_time some-name-rs0 ++ local cluster=some-name-rs0 ++ local first_timestamp ++ local second_timestamp ++ local retry=0 ++ [[ '' != '' ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.UKGQgIXuj2 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.oftSRcbOt2 +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.UKGQgIXuj2 +++ cat /tmp/tmp.oftSRcbOt2 +++ rm /tmp/tmp.UKGQgIXuj2 /tmp/tmp.oftSRcbOt2 +++ return 0 ++ first_timestamp=1718021565 ++ sleep 5 ++ [[ 1718021565 != '' ]] ++ [[ 1718021565 != \n\u\l\l ]] +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.1sgBNvIE2l ++++ mktemp +++ local LAST_ERR=/tmp/tmp.hAPfw1bR0a +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.1sgBNvIE2l +++ cat /tmp/tmp.hAPfw1bR0a +++ rm /tmp/tmp.1sgBNvIE2l /tmp/tmp.hAPfw1bR0a +++ return 0 ++ second_timestamp=1718021565 ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 1718021565 != '' ]] ++ [[ 1718021565 != \n\u\l\l ]] ++ [[ 1718021565 == 1718021565 ]] ++ /usr/bin/date -u -d @1718021565 +%Y-%m-%dT%H:%M:%SZ + latest_restorable_time=2024-06-10T12:12:45Z ++ get_latest_restorable_time_from_backup_object backup-minio-3 ++ local backup_name=backup-minio-3 ++ local latestRestorableTime ++ local retry=0 ++ [[ '' != '' ]] ++ sleep 5 +++ kubectl_bin get psmdb-backup backup-minio-3 -o 'jsonpath={.status.latestRestorableTime}' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.TM4u1WPB7A ++++ mktemp +++ local LAST_ERR=/tmp/tmp.hkK5K7yzhW +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl get psmdb-backup backup-minio-3 -o 'jsonpath={.status.latestRestorableTime}' +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.TM4u1WPB7A +++ cat /tmp/tmp.hkK5K7yzhW +++ rm /tmp/tmp.TM4u1WPB7A /tmp/tmp.hkK5K7yzhW +++ return 0 ++ latestRestorableTime=2024-06-10T12:12:45Z ++ let retry+=1 ++ [[ 1 -gt 30 ]] ++ [[ 2024-06-10T12:12:45Z != '' ]] ++ [[ 2024-06-10T12:12:45Z != \n\u\l\l ]] ++ echo 2024-06-10T12:12:45Z + backup_time=2024-06-10T12:12:45Z + [[ 2024-06-10T12:12:45Z != \2\0\2\4\-\0\6\-\1\0\T\1\2\:\1\2\:\4\5\Z ]] + check_recovery backup-minio-3 latest '' -3rd some-name + local backup_name=backup-minio-3 + local restore_type=latest + local restore_date= + local cmp_postfix=-3rd + local cluster_name=some-name ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.MFKK2wSFXH ++++ mktemp +++ local LAST_ERR=/tmp/tmp.RfybJQU96P +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.MFKK2wSFXH +++ cat /tmp/tmp.RfybJQU96P +++ rm /tmp/tmp.MFKK2wSFXH /tmp/tmp.RfybJQU96P +++ return 0 ++ echo 1718021565 + local latest_ts=1718021565 + desc 'write more data before restore by latest' + set +o xtrace ----------------------------------------------------------------------------------- write more data before restore by latest ----------------------------------------------------------------------------------- + run_mongos 'use myApp\n db.test.insert({ x: 100501 })' myApp:myPass@some-name-mongos.pitr-physical-20459 + local 'command=use myApp\n db.test.insert({ x: 100501 })' + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local driver=mongodb + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.7r9oiXYyAx +++ mktemp ++ local LAST_ERR=/tmp/tmp.bz0H4jOzaQ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.7r9oiXYyAx ++ cat /tmp/tmp.bz0H4jOzaQ ++ rm /tmp/tmp.7r9oiXYyAx /tmp/tmp.bz0H4jOzaQ ++ return 0 + local client_container=psmdb-client-7469665986-n9vpl + local mongo_flag= + kubectl_bin exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.R0uPwHd26W ++ mktemp + local LAST_ERR=/tmp/tmp.UL1m6lo3jR + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.insert({ x: 100501 })\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.R0uPwHd26W Percona Server for MongoDB shell version v4.4.29-28 connecting to: mongodb://some-name-mongos.pitr-physical-20459.svc.cluster.local:27017/admin?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("7b0a7f5a-4b4a-4b43-9899-b41c1fc786f9") } Percona Server for MongoDB server version: v7.0.11-6 WARNING: shell and server versions do not match switched to db myApp WriteResult({ "nInserted" : 1 }) bye + cat /tmp/tmp.UL1m6lo3jR + rm /tmp/tmp.R0uPwHd26W /tmp/tmp.UL1m6lo3jR + return 0 + [[ -n '' ]] + desc 'Restoring to latest' + set +o xtrace ----------------------------------------------------------------------------------- Restoring to latest ----------------------------------------------------------------------------------- ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.NA4jO88BzI ++++ mktemp +++ local LAST_ERR=/tmp/tmp.hxD231jlab +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.NA4jO88BzI +++ cat /tmp/tmp.hxD231jlab +++ rm /tmp/tmp.NA4jO88BzI /tmp/tmp.hxD231jlab +++ return 0 ++ echo 1718021565 + local current_ts=1718021565 + retries=0 + [[ 1718021565 -gt 1718021565 ]] + [[ 0 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.O08r6XPaxh ++++ mktemp +++ local LAST_ERR=/tmp/tmp.slpsgJU4xG +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.O08r6XPaxh +++ cat /tmp/tmp.slpsgJU4xG +++ rm /tmp/tmp.O08r6XPaxh /tmp/tmp.slpsgJU4xG +++ return 0 ++ echo 1718021565 + latest_ts=1718021565 + retries=1 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 + echo 'Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45)' Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45) + sleep 10 + [[ 1718021565 -gt 1718021565 ]] + [[ 1 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.pPVns3pQ1k ++++ mktemp +++ local LAST_ERR=/tmp/tmp.39j8xWjXek +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.pPVns3pQ1k +++ cat /tmp/tmp.39j8xWjXek +++ rm /tmp/tmp.pPVns3pQ1k /tmp/tmp.39j8xWjXek +++ return 0 ++ echo 1718021565 + latest_ts=1718021565 + retries=2 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 + echo 'Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45)' Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45) + sleep 10 + [[ 1718021565 -gt 1718021565 ]] + [[ 2 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.SG21JMqghY ++++ mktemp +++ local LAST_ERR=/tmp/tmp.9IfNaI12Dc +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.SG21JMqghY +++ cat /tmp/tmp.9IfNaI12Dc +++ rm /tmp/tmp.SG21JMqghY /tmp/tmp.9IfNaI12Dc +++ return 0 ++ echo 1718021565 + latest_ts=1718021565 + retries=3 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 + echo 'Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45)' Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45) + sleep 10 + [[ 1718021565 -gt 1718021565 ]] + [[ 3 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ local LAST_OUT=/tmp/tmp.vUq2jUlBet ++++ mktemp +++ local LAST_ERR=/tmp/tmp.fz7zivTODx +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.vUq2jUlBet +++ cat /tmp/tmp.fz7zivTODx +++ rm /tmp/tmp.vUq2jUlBet /tmp/tmp.fz7zivTODx +++ return 0 ++ echo 1718021565 + latest_ts=1718021565 + retries=4 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 + echo 'Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45)' Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45) + sleep 10 + [[ 1718021565 -gt 1718021565 ]] + [[ 4 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.BxBX6lMnXQ ++++ mktemp +++ local LAST_ERR=/tmp/tmp.HlfNHPbRwg +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.BxBX6lMnXQ +++ cat /tmp/tmp.HlfNHPbRwg +++ rm /tmp/tmp.BxBX6lMnXQ /tmp/tmp.HlfNHPbRwg +++ return 0 ++ echo 1718021565 + latest_ts=1718021565 + retries=5 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 + echo 'Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45)' Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45) + sleep 10 + [[ 1718021565 -gt 1718021565 ]] + [[ 5 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.NkbBve0nWP ++++ mktemp +++ local LAST_ERR=/tmp/tmp.GeLDbH844S +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.NkbBve0nWP +++ cat /tmp/tmp.GeLDbH844S +++ rm /tmp/tmp.NkbBve0nWP /tmp/tmp.GeLDbH844S +++ return 0 ++ echo 1718021565 + latest_ts=1718021565 + retries=6 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 + echo 'Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45)' Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45) + sleep 10 + [[ 1718021565 -gt 1718021565 ]] + [[ 6 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.5ylMsSCwN6 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.mnc6RMt8lD +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.5ylMsSCwN6 +++ cat /tmp/tmp.mnc6RMt8lD +++ rm /tmp/tmp.5ylMsSCwN6 /tmp/tmp.mnc6RMt8lD +++ return 0 ++ echo 1718021565 + latest_ts=1718021565 + retries=7 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 + echo 'Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45)' Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45) + sleep 10 + [[ 1718021565 -gt 1718021565 ]] + [[ 7 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' ++++ mktemp +++ local LAST_OUT=/tmp/tmp.BvqjiXGrTT ++++ mktemp +++ local LAST_ERR=/tmp/tmp.8YfObgqOxB +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.BvqjiXGrTT +++ cat /tmp/tmp.8YfObgqOxB +++ rm /tmp/tmp.BvqjiXGrTT /tmp/tmp.8YfObgqOxB +++ return 0 ++ echo 1718021565 + latest_ts=1718021565 + retries=8 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 + echo 'Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45)' Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45) + sleep 10 + [[ 1718021565 -gt 1718021565 ]] + [[ 8 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.wOcUDHQsVl ++++ mktemp +++ local LAST_ERR=/tmp/tmp.Ze7oWZNOYm +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.wOcUDHQsVl +++ cat /tmp/tmp.Ze7oWZNOYm +++ rm /tmp/tmp.wOcUDHQsVl /tmp/tmp.Ze7oWZNOYm +++ return 0 ++ echo 1718021565 + latest_ts=1718021565 + retries=9 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 + echo 'Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45)' Waiting for last oplog chunk (2024-06-10 12:12:45) to be greater than starting chunk (2024-06-10 12:12:45) + sleep 10 + [[ 1718021565 -gt 1718021565 ]] + [[ 9 -gt 30 ]] ++ get_latest_oplog_chunk_ts some-name ++ local cluster=some-name +++ jq '.backups.pitrChunks.pitrChunks | last | .range.end' +++ kubectl_bin exec some-name-rs0-0 -c backup-agent -- pbm status -o json ++++ mktemp +++ local LAST_OUT=/tmp/tmp.alO0CfMAv3 ++++ mktemp +++ local LAST_ERR=/tmp/tmp.ygIQm2XdvP +++ local exit_status=0 +++ local timeout=4 ++++ seq 0 2 +++ for i in '$(seq 0 2)' +++ set +e +++ kubectl exec some-name-rs0-0 -c backup-agent -- pbm status -o json +++ exit_status=0 +++ set -e +++ '[' 0 '!=' 0 -a -n 1 ']' +++ break +++ cat /tmp/tmp.alO0CfMAv3 +++ cat /tmp/tmp.ygIQm2XdvP +++ rm /tmp/tmp.alO0CfMAv3 /tmp/tmp.ygIQm2XdvP +++ return 0 ++ echo 1718022367 + latest_ts=1718022367 + retries=10 ++ format_date 1718022367 ++ local timestamp=1718022367 +++ TZ=UTC +++ /usr/bin/date -d@1718022367 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:26:07 ++ format_date 1718021565 ++ local timestamp=1718021565 +++ TZ=UTC +++ /usr/bin/date -d@1718021565 '+%Y-%m-%d %H:%M:%S' ++ echo 2024-06-10 12:12:45 + echo 'Waiting for last oplog chunk (2024-06-10 12:26:07) to be greater than starting chunk (2024-06-10 12:12:45)' Waiting for last oplog chunk (2024-06-10 12:26:07) to be greater than starting chunk (2024-06-10 12:12:45) + sleep 10 + [[ 1718022367 -gt 1718021565 ]] + desc 'check restore by latest' + set +o xtrace ----------------------------------------------------------------------------------- check restore by latest ----------------------------------------------------------------------------------- + /usr/bin/sed -e 's/backupName:/backupName: backup-minio-3/' + '[' -z '' ']' + kubectl_bin apply -f - + cat /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/conf/restore.yml + /usr/bin/sed -e /date:/d + /usr/bin/sed -e 's/name:/name: restore-backup-minio-3/' ++ mktemp + /usr/bin/sed -e 's/type:/type: latest/' + local LAST_OUT=/tmp/tmp.5yyVAJq6Of ++ mktemp + local LAST_ERR=/tmp/tmp.dqWTojL1yX + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl apply -f - + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.5yyVAJq6Of perconaservermongodbrestore.psmdb.percona.com/restore-backup-minio-3 created + cat /tmp/tmp.dqWTojL1yX + rm /tmp/tmp.5yyVAJq6Of /tmp/tmp.dqWTojL1yX + return 0 + wait_restore backup-minio-3 some-name requested 0 900 + local backup_name=backup-minio-3 + local cluster_name=some-name + local target_state=requested + local wait_cluster_consistency=0 + local wait_time=900 + set +o xtrace waiting psmdb-restore/backup-minio-3 to reach requested state...................................................................................................................................... + '[' 0 -eq 1 ']' + echo + wait_restore backup-minio-3 some-name ready 0 1600 + local backup_name=backup-minio-3 + local cluster_name=some-name + local target_state=ready + local wait_cluster_consistency=0 + local wait_time=1600 + set +o xtrace waiting psmdb-restore/backup-minio-3 to reach ready state................................................................ + '[' 0 -eq 1 ']' + echo + set -o xtrace + wait_for_running some-name-mongos 3 + local name=some-name-mongos + let last_pod=2 + local check_cluster_readyness=true + set_debug + [[ 1 == 1 ]] + set -o xtrace + local rs_name=mongos + local cluster_name=some-name ++ seq 0 2 + for i in '$(seq 0 $last_pod)' + [[ 0 -eq 2 ]] + wait_pod some-name-mongos-0 + local pod=some-name-mongos-0 + set +o xtrace waiting for pod/some-name-mongos-0 to be ready.................OK + for i in '$(seq 0 $last_pod)' + [[ 1 -eq 2 ]] + wait_pod some-name-mongos-1 + local pod=some-name-mongos-1 + set +o xtrace waiting for pod/some-name-mongos-1 to be ready.....OK + for i in '$(seq 0 $last_pod)' + [[ 2 -eq 2 ]] ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.0VwkKr40Yx +++ mktemp ++ local LAST_ERR=/tmp/tmp.yZpLhp4CPR ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].arbiter.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.0VwkKr40Yx ++ cat /tmp/tmp.yZpLhp4CPR ++ rm /tmp/tmp.0VwkKr40Yx /tmp/tmp.yZpLhp4CPR ++ return 0 + [[ '' == \t\r\u\e ]] + wait_pod some-name-mongos-2 + local pod=some-name-mongos-2 + set +o xtrace waiting for pod/some-name-mongos-2 to be ready......OK ++ kubectl_bin get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].non_voting.enabled}' +++ mktemp ++ local LAST_OUT=/tmp/tmp.5qaav9pcC0 +++ mktemp ++ local LAST_ERR=/tmp/tmp.xfePOkDr2k ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get psmdb some-name -o 'jsonpath={.spec.replsets[?(@.name=="mongos")].non_voting.enabled}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.5qaav9pcC0 ++ cat /tmp/tmp.xfePOkDr2k ++ rm /tmp/tmp.5qaav9pcC0 /tmp/tmp.xfePOkDr2k ++ return 0 + [[ '' == \t\r\u\e ]] + sleep 10 + [[ true == \t\r\u\e ]] + set +x Waiting for cluster readyness + sleep 10 + compare_mongos_cmd find myApp:myPass@some-name-mongos.pitr-physical-20459 -3rd + local command=find + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local postfix=-3rd + local suffix= + local database=myApp + local collection=test + run_mongos 'use myApp\n db.test.find()' myApp:myPass@some-name-mongos.pitr-physical-20459 mongodb '' + local 'command=use myApp\n db.test.find()' + local uri=myApp:myPass@some-name-mongos.pitr-physical-20459 + local driver=mongodb + local suffix=.svc.cluster.local ++ kubectl_bin get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' + /usr/bin/sed -re 's/ObjectId\("[0-9a-f]+"\)//; s/-[0-9]+.svc/-xxx.svc/' + egrep -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:' +++ mktemp ++ local LAST_OUT=/tmp/tmp.ozq4xLQpp2 +++ mktemp ++ local LAST_ERR=/tmp/tmp.99p9KkBelZ ++ local exit_status=0 ++ local timeout=4 +++ seq 0 2 ++ for i in '$(seq 0 2)' ++ set +e ++ kubectl get pods --selector=name=psmdb-client -o 'jsonpath={.items[].metadata.name}' ++ exit_status=0 ++ set -e ++ '[' 0 '!=' 0 -a -n 1 ']' ++ break ++ cat /tmp/tmp.ozq4xLQpp2 ++ cat /tmp/tmp.99p9KkBelZ ++ rm /tmp/tmp.ozq4xLQpp2 /tmp/tmp.99p9KkBelZ ++ return 0 + local client_container=psmdb-client-7469665986-n9vpl + local mongo_flag= + kubectl_bin exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' ++ mktemp + local LAST_OUT=/tmp/tmp.PCtxP0Moml ++ mktemp + local LAST_ERR=/tmp/tmp.jwSfKgzGgv + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl exec psmdb-client-7469665986-n9vpl -- bash -c 'printf '\''use myApp\n db.test.find()\n'\'' | mongo mongodb://myApp:myPass@some-name-mongos.pitr-physical-20459.svc.cluster.local/admin ' + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.PCtxP0Moml + cat /tmp/tmp.jwSfKgzGgv + rm /tmp/tmp.PCtxP0Moml /tmp/tmp.jwSfKgzGgv + return 0 + diff /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/e2e-tests/pitr-physical/compare/find-3rd.json /tmp/tmp.fggtyfuEtn/find-3rd + destroy pitr-physical-20459 + local namespace=pitr-physical-20459 + local ignore_logs=true + desc 'destroy cluster/operator and all other resources' + set +o xtrace ----------------------------------------------------------------------------------- destroy cluster/operator and all other resources ----------------------------------------------------------------------------------- + '[' true == false ']' + delete_crd + desc 'get and delete old CRDs and RBAC' + set +o xtrace ----------------------------------------------------------------------------------- get and delete old CRDs and RBAC ----------------------------------------------------------------------------------- + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/crd.yaml --ignore-not-found --wait=false ++ mktemp + local LAST_OUT=/tmp/tmp.6bckaIUqBK ++ mktemp + local LAST_ERR=/tmp/tmp.YI3TrA7m1U + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/crd.yaml --ignore-not-found --wait=false + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.6bckaIUqBK customresourcedefinition.apiextensions.k8s.io "perconaservermongodbbackups.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbrestores.psmdb.percona.com" deleted customresourcedefinition.apiextensions.k8s.io "perconaservermongodbs.psmdb.percona.com" deleted + cat /tmp/tmp.YI3TrA7m1U + rm /tmp/tmp.6bckaIUqBK /tmp/tmp.YI3TrA7m1U + return 0 ++ yq eval .metadata.name /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/crd.yaml ++ grep -v '\-\-\-' + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + kubectl get perconaservermongodbbackups.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbbackups.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbbackups" + kubectl patch perconaservermongodbbackups.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbbackups" + : + kubectl_bin wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.rMmmI3Ti8v ++ mktemp + local LAST_ERR=/tmp/tmp.oAU5Md7WbP + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbbackups.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.rMmmI3Ti8v + cat /tmp/tmp.oAU5Md7WbP + rm /tmp/tmp.rMmmI3Ti8v /tmp/tmp.oAU5Md7WbP + return 0 + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + kubectl get perconaservermongodbrestores.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbrestores.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbrestores" + kubectl patch perconaservermongodbrestores.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbrestores" + : + kubectl_bin wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.SQ6MQnCT2v ++ mktemp + local LAST_ERR=/tmp/tmp.iVUCyY6MyG + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbrestores.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.SQ6MQnCT2v + cat /tmp/tmp.iVUCyY6MyG + rm /tmp/tmp.SQ6MQnCT2v /tmp/tmp.iVUCyY6MyG + return 0 + for crd_name in '$(yq eval '\''.metadata.name'\'' "${src_dir}/deploy/crd.yaml" | grep -v '\''\-\-\-'\'')' + kubectl get perconaservermongodbs.psmdb.percona.com --all-namespaces -o wide + grep -v NAMESPACE + xargs -L 1 sh -xc 'kubectl patch perconaservermongodbs.psmdb.percona.com -n $0 $1 --type=merge -p "{\"metadata\":{\"finalizers\":[]}}"' error: the server doesn't have a resource type "perconaservermongodbs" + kubectl patch perconaservermongodbs.psmdb.percona.com -n sh --type=merge -p '{"metadata":{"finalizers":[]}}' error: the server doesn't have a resource type "perconaservermongodbs" + : + kubectl_bin wait --for=delete crd perconaservermongodbs.psmdb.percona.com ++ mktemp + local LAST_OUT=/tmp/tmp.NJQWr4gxZK ++ mktemp + local LAST_ERR=/tmp/tmp.F51VD2vrHC + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl wait --for=delete crd perconaservermongodbs.psmdb.percona.com + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.NJQWr4gxZK + cat /tmp/tmp.F51VD2vrHC + rm /tmp/tmp.NJQWr4gxZK /tmp/tmp.F51VD2vrHC + return 0 + local rbac_yaml=rbac.yaml + '[' -n psmdb-operator ']' + rbac_yaml=cw-rbac.yaml + kubectl_bin delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/cw-rbac.yaml --ignore-not-found ++ mktemp + local LAST_OUT=/tmp/tmp.HDaHt1u6ux ++ mktemp + local LAST_ERR=/tmp/tmp.JMr1L6xpJc + local exit_status=0 + local timeout=4 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + kubectl delete -f /mnt/jenkins/workspace/cloud-psmdb-operator_PR-1569/deploy/cw-rbac.yaml --ignore-not-found + exit_status=0 + set -e + '[' 0 '!=' 0 -a -n 1 ']' + break + cat /tmp/tmp.HDaHt1u6ux clusterrole.rbac.authorization.k8s.io "percona-server-mongodb-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "service-account-percona-server-mongodb-operator" deleted + cat /tmp/tmp.JMr1L6xpJc + rm /tmp/tmp.HDaHt1u6ux /tmp/tmp.JMr1L6xpJc + return 0 + kubectl_bin delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.5/cert-manager.yaml + : + '[' -n '' ']' + '[' -n psmdb-operator ']' + rm -rf /tmp/tmp.fggtyfuEtn + kubectl_bin delete --grace-period=0 --force=true namespace psmdb-operator + kubectl_bin delete --grace-period=0 --force=true namespace pitr-physical-20459 ++ mktemp ++ mktemp + desc 'test passed' + set +o xtrace ----------------------------------------------------------------------------------- test passed ----------------------------------------------------------------------------------- + local LAST_OUT=/tmp/tmp.ex3SEpsHve + local LAST_OUT=/tmp/tmp.bMaJEqHOUK ++ mktemp ++ mktemp + local LAST_ERR=/tmp/tmp.NjuhDYXp0U + local exit_status=0 + local timeout=4 + local LAST_ERR=/tmp/tmp.GCXzJrWJSW + local exit_status=0 + local timeout=4 ++ seq 0 2 ++ seq 0 2 + for i in '$(seq 0 2)' + set +e + for i in '$(seq 0 2)' + set +e + kubectl delete --grace-period=0 --force=true namespace pitr-physical-20459 + kubectl delete --grace-period=0 --force=true namespace psmdb-operator