Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PBM-1474 - Swap AWS s3 v1 with v2 #1083

Merged
merged 39 commits into from
Feb 24, 2025

remove gcs tweaks

dfa699f
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

PBM-1474 - Swap AWS s3 v1 with v2 #1083

remove gcs tweaks
dfa699f
Select commit
Loading
Failed to load commit list.
GitHub Actions / JUnit Test Report failed Feb 5, 2025 in 0s

16 tests run, 0 passed, 0 skipped, 16 failed.

Annotations

Check failure on line 82 in psmdb-testing/pbm-functional/pytest/test_PBM-1155.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_PBM-1155.test_incremental_base_PBM_T246

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fcfc0690>

    @pytest.mark.timeout(6000, func_only=True)
    def test_incremental_base_PBM_T246(start_cluster,cluster):
>       cluster.check_pbm_status()

test_PBM-1155.py:82: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fcfc0690>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 92 in psmdb-testing/pbm-functional/pytest/test_PBM-1155.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_PBM-1155.test_incremental_PBM_T245

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fcfc0690>

    @pytest.mark.timeout(6000, func_only=True)
    def test_incremental_PBM_T245(start_cluster,cluster):
>       cluster.check_pbm_status()

test_PBM-1155.py:92: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fcfc0690>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 87 in psmdb-testing/pbm-functional/pytest/test_PBM-1211.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_PBM-1211.test_incremental_PBM_T269

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fb6e8550>

    @pytest.mark.timeout(600,func_only=True)
    def test_incremental_PBM_T269(start_cluster,cluster):
>       cluster.check_pbm_status()

test_PBM-1211.py:87: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fb6e8550>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 132 in psmdb-testing/pbm-functional/pytest/test_PBM-1355.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_PBM-1355.test_incremental_PBM_T258

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fb7a2dd0>

    @pytest.mark.timeout(900,func_only=True)
    def test_incremental_PBM_T258(start_cluster,cluster):
>       cluster.check_pbm_status()

test_PBM-1355.py:132: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fb7a2dd0>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 142 in psmdb-testing/pbm-functional/pytest/test_PBM-979.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_PBM-979.test_incremental_PBM_T234

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fbb347d0>

    @pytest.mark.timeout(300,func_only=True)
    def test_incremental_PBM_T234(start_cluster,cluster):
        time.sleep(5)
>       cluster.check_pbm_status()

test_PBM-979.py:142: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fbb347d0>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 119 in psmdb-testing/pbm-functional/pytest/test_azurite.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_azurite.test_incremental

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fb865450>

    @pytest.mark.timeout(300, func_only=True)
    def test_incremental(start_cluster, cluster):
>       cluster.check_pbm_status()

test_azurite.py:119: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fb865450>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 51 in psmdb-testing/pbm-functional/pytest/test_directoryperdb.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_directoryperdb.test_incremental_PBM_T219

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fb6cb710>

    @pytest.mark.timeout(300,func_only=True)
    def test_incremental_PBM_T219(start_cluster,cluster):
>       cluster.check_pbm_status()

test_directoryperdb.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fb6cb710>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 51 in psmdb-testing/pbm-functional/pytest/test_encryption.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_encryption.test_incremental_PBM_T222

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fb687c90>

    @pytest.mark.timeout(300,func_only=True)
    def test_incremental_PBM_T222(start_cluster,cluster):
>       cluster.check_pbm_status()

test_encryption.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fb687c90>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 96 in psmdb-testing/pbm-functional/pytest/test_fresh_sharded.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_fresh_sharded.test_incremental_PBM_T209

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fb5d18d0>
newcluster = <cluster.Cluster object at 0x7f48fb5d34d0>

    @pytest.mark.timeout(600,func_only=True)
    def test_incremental_PBM_T209(start_cluster,cluster,newcluster):
>       cluster.check_pbm_status()

test_fresh_sharded.py:96: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fb5d18d0>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 51 in psmdb-testing/pbm-functional/pytest/test_kmip.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_kmip.test_incremental_PBM_T201

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fbb7a8d0>

    @pytest.mark.timeout(300,func_only=True)
    def test_incremental_PBM_T201(start_cluster,cluster):
>       cluster.check_pbm_status()

test_kmip.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fbb7a8d0>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 95 in psmdb-testing/pbm-functional/pytest/test_remap_sharded.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_remap_sharded.test_incremental_PBM_T243

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fb7ad010>
newcluster = <cluster.Cluster object at 0x7f48fb7affd0>

    @pytest.mark.timeout(600,func_only=True)
    def test_incremental_PBM_T243(start_cluster,cluster,newcluster):
>       cluster.check_pbm_status()

test_remap_sharded.py:95: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fb7ad010>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 136 in psmdb-testing/pbm-functional/pytest/test_replicaset.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_replicaset.test_incremental

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fcfc1c50>

    @pytest.mark.timeout(300,func_only=True)
    def test_incremental(start_cluster,cluster):
>       cluster.check_pbm_status()

test_replicaset.py:136: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fcfc1c50>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 203 in psmdb-testing/pbm-functional/pytest/test_sharded.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_sharded.test_incremental

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fbb78d10>

    @pytest.mark.timeout(300,func_only=True)
    def test_incremental(start_cluster,cluster):
>       cluster.check_pbm_status()

test_sharded.py:203: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fbb78d10>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 93 in psmdb-testing/pbm-functional/pytest/test_timeseries.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_timeseries.test_incremental_PBM_T262

AssertionError
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fb841bd0>

    @pytest.mark.timeout(600,func_only=True)
    def test_incremental_PBM_T262(start_cluster,cluster):
>       cluster.check_pbm_status()

test_timeseries.py:93: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fb841bd0>

    def check_pbm_status(self):
        n = testinfra.get_host("docker://" + self.pbm_cli)
        result = n.check_output('pbm status --out=json')
        parsed_result = json.loads(result)
        Cluster.log("PBM status: \n" + str(parsed_result['cluster']))
        #Cluster.log(json.dumps(parsed_result['cluster'], indent=4))
        hosts = []
        for replicaset in parsed_result['cluster']:
            for host in replicaset['nodes']:
                if host['role'] != "A":
                    hosts.append(host)
>                   assert host['ok'] == True
E                   AssertionError

cluster.py:762: AssertionError

Check failure on line 97 in psmdb-testing/pbm-functional/pytest/test_upgrade.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_upgrade.test_incremental_PBM_T277

AssertionError: Starting restore 2025-02-05T13:55:44.667922426Z from '2025-02-05T13:55:11Z'.panic: errors: *target must be interface or implement error
  
  goroutine 1 [running]:
  errors.As({0x13f90e0, 0xc000584390}, {0x11122e0, 0xc0000c45e8})
  	/usr/local/go/src/errors/wrap.go:111 +0x206
  github.com/pkg/errors.As(...)
  	/percona-backup-mongodb/vendor/github.com/pkg/errors/go113.go:31
  github.com/percona/percona-backup-mongodb/pbm/errors.As(...)
  	/percona-backup-mongodb/pbm/errors/errors.go:33
  github.com/percona/percona-backup-mongodb/pbm/storage/s3.(*S3).FileStat(0xc0002a2900, {0xc0000d6480, 0x30})
  	/percona-backup-mongodb/pbm/storage/s3/s3.go:495 +0x691
  github.com/percona/percona-backup-mongodb/pbm/restore.GetPhysRestoreMeta({0xc000218700, 0x1e}, {0x1408e80, 0xc0002a2900}, {0x1406600, 0xc000040c40})
  	/percona-backup-mongodb/pbm/restore/storage.go:21 +0x104
  main.doRestore.func1({0x14051b0, 0xc0002aab60}, {0x140b8f8, 0xc000298650}, {0xc000218700, 0x1e})
  	/percona-backup-mongodb/cmd/pbm/restore.go:500 +0x15e
  main.waitForRestoreStatus({0x14051b0, 0xc0002aab60}, {0x140b8f8, 0xc000298650}, {0xc000218700, 0x1e}, 0xc0004cd980)
  	/percona-backup-mongodb/cmd/pbm/restore.go:563 +0x21e
  main.doRestore({0x1405108, 0xc0002b91a0}, {0x140b8f8, 0xc000298650}, 0xc0001fe0c0, 0x0, 0x0, {0x0, 0x0, 0x0}, ...)
  	/percona-backup-mongodb/cmd/pbm/restore.go:506 +0xdc5
  main.runRestore({0x1405108, 0xc0002b91a0}, {0x140b8f8, 0xc000298650}, 0xc000056a40, 0xc0001fe0c0, {0xc00027e250, 0xd}, {0x11e306c, 0x4})
  	/percona-backup-mongodb/cmd/pbm/restore.go:162 +0xaf5
  main.(*pbmApp).buildRestoreCmd.func1(0x9e38616400000000?, {0xc0001e48a0?, 0x0?, 0x0?})
  	/percona-backup-mongodb/cmd/pbm/main.go:742 +0xa5
  main.(*pbmApp).buildRestoreCmd.(*pbmApp).wrapRunE.func2(0xc00016f000?, {0xc0001e48a0?, 0x4?, 0x11e316c?})
  	/percona-backup-mongodb/cmd/pbm/main.go:85 +0x33
  github.com/spf13/cobra.(*Command).execute(0xc000206308, {0xc0001e4880, 0x2, 0x2})
  	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:985 +0xaca
  github.com/spf13/cobra.(*Command).ExecuteC(0xc000170608)
  	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:1117 +0x3ff
  github.com/spf13/cobra.(*Command).Execute(...)
  	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:1041
  main.main()
  	/percona-backup-mongodb/cmd/pbm/main.go:76 +0x45
  
assert False
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fb7379d0>

    @pytest.mark.timeout(600,func_only=True)
    def test_incremental_PBM_T277(start_cluster,cluster):
        cluster.check_pbm_status()
        cluster.make_backup("incremental --base")
        pymongo.MongoClient(cluster.connection)["test"]["test"].insert_many(documents)
        backup = cluster.make_backup("incremental")
        result=pymongo.MongoClient(cluster.connection)["test"]["test"].delete_many({})
        assert int(result.deleted_count) == len(documents)
        cluster.upgrade()
        cluster.check_pbm_status()
        try:
>           cluster.make_restore(backup,restart_cluster=True, check_pbm_status=True)

test_upgrade.py:88: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fb7379d0>, name = '2025-02-05T13:55:11Z'
kwargs = {'check_pbm_status': True, 'restart_cluster': True}
client = MongoClient(host=['mongos:27017'], document_class=dict, tz_aware=False, connect=True)
result = CommandResult(backend=<testinfra.backend.docker.DockerBackend object at 0x7f48fb62b390>, exit_status=2, command=b'time...godb/vendor/github.com/spf13/cobra/command.go:1041\nmain.main()\n\t/percona-backup-mongodb/cmd/pbm/main.go:76 +0x45\n')
n = <testinfra.host.Host docker://rscfg01>, timeout = 240, error = ''
host = 'rscfg03', container = <Container: 8258817cdc83>

    def make_restore(self, name, **kwargs):
        if self.layout == "sharded":
            client = pymongo.MongoClient(self.connection)
            result = client.admin.command("balancerStop")
            client.close()
            Cluster.log("Stopping balancer: " + str(result))
            self.stop_mongos()
        self.stop_arbiters()
        n = testinfra.get_host("docker://" + self.pbm_cli)
        timeout = time.time() + 60
    
        while True:
            if not self.get_status()['running']:
                break
            if time.time() > timeout:
                assert False, "Cannot start restore, another operation running"
            time.sleep(1)
        Cluster.log("Restore started")
        timeout=kwargs.get('timeout', 240)
        result = n.run('timeout ' + str(timeout) + ' pbm restore ' + name + ' --wait')
    
        if result.rc == 0:
            Cluster.log(result.stdout)
        else:
            # try to catch possible failures if timeout exceeded
            error=''
            for host in self.mongod_hosts:
                try:
                    container = docker.from_env().containers.get(host)
                    get_logs = container.exec_run(
                        'cat /var/lib/mongo/pbm.restore.log', stderr=False)
                    if get_logs.exit_code == 0:
                        Cluster.log(
                            "!!!!Possible failure on {}, file pbm.restore.log was found:".format(host))
                        logs = get_logs.output.decode('utf-8')
                        Cluster.log(logs)
                        if '"s":"F"' in logs:
                            error = logs
                except docker.errors.APIError:
                    pass
            if error:
                assert False, result.stdout + result.stderr + "\n" + error
            else:
>               assert False, result.stdout + result.stderr
E               AssertionError: Starting restore 2025-02-05T13:55:44.667922426Z from '2025-02-05T13:55:11Z'.panic: errors: *target must be interface or implement error
E               
E               goroutine 1 [running]:
E               errors.As({0x13f90e0, 0xc000584390}, {0x11122e0, 0xc0000c45e8})
E               	/usr/local/go/src/errors/wrap.go:111 +0x206
E               github.com/pkg/errors.As(...)
E               	/percona-backup-mongodb/vendor/github.com/pkg/errors/go113.go:31
E               github.com/percona/percona-backup-mongodb/pbm/errors.As(...)
E               	/percona-backup-mongodb/pbm/errors/errors.go:33
E               github.com/percona/percona-backup-mongodb/pbm/storage/s3.(*S3).FileStat(0xc0002a2900, {0xc0000d6480, 0x30})
E               	/percona-backup-mongodb/pbm/storage/s3/s3.go:495 +0x691
E               github.com/percona/percona-backup-mongodb/pbm/restore.GetPhysRestoreMeta({0xc000218700, 0x1e}, {0x1408e80, 0xc0002a2900}, {0x1406600, 0xc000040c40})
E               	/percona-backup-mongodb/pbm/restore/storage.go:21 +0x104
E               main.doRestore.func1({0x14051b0, 0xc0002aab60}, {0x140b8f8, 0xc000298650}, {0xc000218700, 0x1e})
E               	/percona-backup-mongodb/cmd/pbm/restore.go:500 +0x15e
E               main.waitForRestoreStatus({0x14051b0, 0xc0002aab60}, {0x140b8f8, 0xc000298650}, {0xc000218700, 0x1e}, 0xc0004cd980)
E               	/percona-backup-mongodb/cmd/pbm/restore.go:563 +0x21e
E               main.doRestore({0x1405108, 0xc0002b91a0}, {0x140b8f8, 0xc000298650}, 0xc0001fe0c0, 0x0, 0x0, {0x0, 0x0, 0x0}, ...)
E               	/percona-backup-mongodb/cmd/pbm/restore.go:506 +0xdc5
E               main.runRestore({0x1405108, 0xc0002b91a0}, {0x140b8f8, 0xc000298650}, 0xc000056a40, 0xc0001fe0c0, {0xc00027e250, 0xd}, {0x11e306c, 0x4})
E               	/percona-backup-mongodb/cmd/pbm/restore.go:162 +0xaf5
E               main.(*pbmApp).buildRestoreCmd.func1(0x9e38616400000000?, {0xc0001e48a0?, 0x0?, 0x0?})
E               	/percona-backup-mongodb/cmd/pbm/main.go:742 +0xa5
E               main.(*pbmApp).buildRestoreCmd.(*pbmApp).wrapRunE.func2(0xc00016f000?, {0xc0001e48a0?, 0x4?, 0x11e316c?})
E               	/percona-backup-mongodb/cmd/pbm/main.go:85 +0x33
E               github.com/spf13/cobra.(*Command).execute(0xc000206308, {0xc0001e4880, 0x2, 0x2})
E               	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:985 +0xaca
E               github.com/spf13/cobra.(*Command).ExecuteC(0xc000170608)
E               	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:1117 +0x3ff
E               github.com/spf13/cobra.(*Command).Execute(...)
E               	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:1041
E               main.main()
E               	/percona-backup-mongodb/cmd/pbm/main.go:76 +0x45

cluster.py:467: AssertionError

During handling of the above exception, another exception occurred:

start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fb7379d0>

    @pytest.mark.timeout(600,func_only=True)
    def test_incremental_PBM_T277(start_cluster,cluster):
        cluster.check_pbm_status()
        cluster.make_backup("incremental --base")
        pymongo.MongoClient(cluster.connection)["test"]["test"].insert_many(documents)
        backup = cluster.make_backup("incremental")
        result=pymongo.MongoClient(cluster.connection)["test"]["test"].delete_many({})
        assert int(result.deleted_count) == len(documents)
        cluster.upgrade()
        cluster.check_pbm_status()
        try:
            cluster.make_restore(backup,restart_cluster=True, check_pbm_status=True)
            assert pymongo.MongoClient(cluster.connection)["test"]["test"].count_documents({}) == len(documents)
            assert pymongo.MongoClient(cluster.connection)["test"].command("collstats", "test").get("sharded", False)
            Cluster.log("Finished successfully")
        except AssertionError as e:
            if "is not compatible with" in str(e):
                Cluster.log("[PBM-1069] Expected failure: \n" + str(e))
                Cluster.log("Finished successfully")
            else:
>               assert False, str(e)
E               AssertionError: Starting restore 2025-02-05T13:55:44.667922426Z from '2025-02-05T13:55:11Z'.panic: errors: *target must be interface or implement error
E                 
E                 goroutine 1 [running]:
E                 errors.As({0x13f90e0, 0xc000584390}, {0x11122e0, 0xc0000c45e8})
E                 	/usr/local/go/src/errors/wrap.go:111 +0x206
E                 github.com/pkg/errors.As(...)
E                 	/percona-backup-mongodb/vendor/github.com/pkg/errors/go113.go:31
E                 github.com/percona/percona-backup-mongodb/pbm/errors.As(...)
E                 	/percona-backup-mongodb/pbm/errors/errors.go:33
E                 github.com/percona/percona-backup-mongodb/pbm/storage/s3.(*S3).FileStat(0xc0002a2900, {0xc0000d6480, 0x30})
E                 	/percona-backup-mongodb/pbm/storage/s3/s3.go:495 +0x691
E                 github.com/percona/percona-backup-mongodb/pbm/restore.GetPhysRestoreMeta({0xc000218700, 0x1e}, {0x1408e80, 0xc0002a2900}, {0x1406600, 0xc000040c40})
E                 	/percona-backup-mongodb/pbm/restore/storage.go:21 +0x104
E                 main.doRestore.func1({0x14051b0, 0xc0002aab60}, {0x140b8f8, 0xc000298650}, {0xc000218700, 0x1e})
E                 	/percona-backup-mongodb/cmd/pbm/restore.go:500 +0x15e
E                 main.waitForRestoreStatus({0x14051b0, 0xc0002aab60}, {0x140b8f8, 0xc000298650}, {0xc000218700, 0x1e}, 0xc0004cd980)
E                 	/percona-backup-mongodb/cmd/pbm/restore.go:563 +0x21e
E                 main.doRestore({0x1405108, 0xc0002b91a0}, {0x140b8f8, 0xc000298650}, 0xc0001fe0c0, 0x0, 0x0, {0x0, 0x0, 0x0}, ...)
E                 	/percona-backup-mongodb/cmd/pbm/restore.go:506 +0xdc5
E                 main.runRestore({0x1405108, 0xc0002b91a0}, {0x140b8f8, 0xc000298650}, 0xc000056a40, 0xc0001fe0c0, {0xc00027e250, 0xd}, {0x11e306c, 0x4})
E                 	/percona-backup-mongodb/cmd/pbm/restore.go:162 +0xaf5
E                 main.(*pbmApp).buildRestoreCmd.func1(0x9e38616400000000?, {0xc0001e48a0?, 0x0?, 0x0?})
E                 	/percona-backup-mongodb/cmd/pbm/main.go:742 +0xa5
E                 main.(*pbmApp).buildRestoreCmd.(*pbmApp).wrapRunE.func2(0xc00016f000?, {0xc0001e48a0?, 0x4?, 0x11e316c?})
E                 	/percona-backup-mongodb/cmd/pbm/main.go:85 +0x33
E                 github.com/spf13/cobra.(*Command).execute(0xc000206308, {0xc0001e4880, 0x2, 0x2})
E                 	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:985 +0xaca
E                 github.com/spf13/cobra.(*Command).ExecuteC(0xc000170608)
E                 	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:1117 +0x3ff
E                 github.com/spf13/cobra.(*Command).Execute(...)
E                 	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:1041
E                 main.main()
E                 	/percona-backup-mongodb/cmd/pbm/main.go:76 +0x45
E                 
E               assert False

test_upgrade.py:97: AssertionError

Check failure on line 59 in psmdb-testing/pbm-functional/pytest/test_vault.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_vault.test_incremental_PBM_T200

AssertionError: Starting restore 2025-02-05T13:56:47.894844021Z from '2025-02-05T13:56:40Z'.panic: errors: *target must be interface or implement error

goroutine 1 [running]:
errors.As({0x13f90e0, 0xc0004404e0}, {0x11122e0, 0xc0000126d8})
	/usr/local/go/src/errors/wrap.go:111 +0x206
github.com/pkg/errors.As(...)
	/percona-backup-mongodb/vendor/github.com/pkg/errors/go113.go:31
github.com/percona/percona-backup-mongodb/pbm/errors.As(...)
	/percona-backup-mongodb/pbm/errors/errors.go:33
github.com/percona/percona-backup-mongodb/pbm/storage/s3.(*S3).FileStat(0xc00031ef80, {0xc0000fe030, 0x30})
	/percona-backup-mongodb/pbm/storage/s3/s3.go:495 +0x691
github.com/percona/percona-backup-mongodb/pbm/restore.GetPhysRestoreMeta({0xc00033a5c0, 0x1e}, {0x1408e80, 0xc00031ef80}, {0x1406600, 0xc0000c6f40})
	/percona-backup-mongodb/pbm/restore/storage.go:21 +0x104
main.doRestore.func1({0x14051b0, 0xc000327c70}, {0x140b8f8, 0xc0000cc900}, {0xc00033a5c0, 0x1e})
	/percona-backup-mongodb/cmd/pbm/restore.go:500 +0x15e
main.waitForRestoreStatus({0x14051b0, 0xc000327c70}, {0x140b8f8, 0xc0000cc900}, {0xc00033a5c0, 0x1e}, 0xc0004a9980)
	/percona-backup-mongodb/cmd/pbm/restore.go:563 +0x21e
main.doRestore({0x1405108, 0xc0000b59b0}, {0x140b8f8, 0xc0000cc900}, 0xc000000180, 0x0, 0x0, {0x0, 0x0, 0x0}, ...)
	/percona-backup-mongodb/cmd/pbm/restore.go:506 +0xdc5
main.runRestore({0x1405108, 0xc0000b59b0}, {0x140b8f8, 0xc0000cc900}, 0xc0000c4b20, 0xc000000180, {0xc00032ac10, 0xb}, {0x11e306c, 0x4})
	/percona-backup-mongodb/cmd/pbm/restore.go:162 +0xaf5
main.(*pbmApp).buildRestoreCmd.func1(0x3ba9cef700000000?, {0xc00020a8e0?, 0x0?, 0x0?})
	/percona-backup-mongodb/cmd/pbm/main.go:742 +0xa5
main.(*pbmApp).buildRestoreCmd.(*pbmApp).wrapRunE.func2(0xc0001a7000?, {0xc00020a8e0?, 0x4?, 0x11e316c?})
	/percona-backup-mongodb/cmd/pbm/main.go:85 +0x33
github.com/spf13/cobra.(*Command).execute(0xc00023a308, {0xc00020a8c0, 0x2, 0x2})
	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:985 +0xaca
github.com/spf13/cobra.(*Command).ExecuteC(0xc0001a8608)
	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:1117 +0x3ff
github.com/spf13/cobra.(*Command).Execute(...)
	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:1041
main.main()
	/percona-backup-mongodb/cmd/pbm/main.go:76 +0x45
Raw output
start_cluster = True, cluster = <cluster.Cluster object at 0x7f48fbb94150>

    @pytest.mark.timeout(300,func_only=True)
    def test_incremental_PBM_T200(start_cluster,cluster):
        cluster.check_pbm_status()
        cluster.make_backup("incremental --base")
        pymongo.MongoClient(cluster.connection)["test"]["test"].insert_many(documents)
        backup=cluster.make_backup("incremental")
        result=pymongo.MongoClient(cluster.connection)["test"]["test"].delete_many({})
        assert int(result.deleted_count) == len(documents)
>       cluster.make_restore(backup,restart_cluster=True, check_pbm_status=True)

test_vault.py:59: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <cluster.Cluster object at 0x7f48fbb94150>, name = '2025-02-05T13:56:40Z'
kwargs = {'check_pbm_status': True, 'restart_cluster': True}
result = CommandResult(backend=<testinfra.backend.docker.DockerBackend object at 0x7f48fcbcdb90>, exit_status=2, command=b'time...godb/vendor/github.com/spf13/cobra/command.go:1041\nmain.main()\n\t/percona-backup-mongodb/cmd/pbm/main.go:76 +0x45\n')
n = <testinfra.host.Host docker://rs101>, timeout = 240, error = ''
host = 'rs103', container = <Container: 66a3b6422630>

    def make_restore(self, name, **kwargs):
        if self.layout == "sharded":
            client = pymongo.MongoClient(self.connection)
            result = client.admin.command("balancerStop")
            client.close()
            Cluster.log("Stopping balancer: " + str(result))
            self.stop_mongos()
        self.stop_arbiters()
        n = testinfra.get_host("docker://" + self.pbm_cli)
        timeout = time.time() + 60
    
        while True:
            if not self.get_status()['running']:
                break
            if time.time() > timeout:
                assert False, "Cannot start restore, another operation running"
            time.sleep(1)
        Cluster.log("Restore started")
        timeout=kwargs.get('timeout', 240)
        result = n.run('timeout ' + str(timeout) + ' pbm restore ' + name + ' --wait')
    
        if result.rc == 0:
            Cluster.log(result.stdout)
        else:
            # try to catch possible failures if timeout exceeded
            error=''
            for host in self.mongod_hosts:
                try:
                    container = docker.from_env().containers.get(host)
                    get_logs = container.exec_run(
                        'cat /var/lib/mongo/pbm.restore.log', stderr=False)
                    if get_logs.exit_code == 0:
                        Cluster.log(
                            "!!!!Possible failure on {}, file pbm.restore.log was found:".format(host))
                        logs = get_logs.output.decode('utf-8')
                        Cluster.log(logs)
                        if '"s":"F"' in logs:
                            error = logs
                except docker.errors.APIError:
                    pass
            if error:
                assert False, result.stdout + result.stderr + "\n" + error
            else:
>               assert False, result.stdout + result.stderr
E               AssertionError: Starting restore 2025-02-05T13:56:47.894844021Z from '2025-02-05T13:56:40Z'.panic: errors: *target must be interface or implement error
E               
E               goroutine 1 [running]:
E               errors.As({0x13f90e0, 0xc0004404e0}, {0x11122e0, 0xc0000126d8})
E               	/usr/local/go/src/errors/wrap.go:111 +0x206
E               github.com/pkg/errors.As(...)
E               	/percona-backup-mongodb/vendor/github.com/pkg/errors/go113.go:31
E               github.com/percona/percona-backup-mongodb/pbm/errors.As(...)
E               	/percona-backup-mongodb/pbm/errors/errors.go:33
E               github.com/percona/percona-backup-mongodb/pbm/storage/s3.(*S3).FileStat(0xc00031ef80, {0xc0000fe030, 0x30})
E               	/percona-backup-mongodb/pbm/storage/s3/s3.go:495 +0x691
E               github.com/percona/percona-backup-mongodb/pbm/restore.GetPhysRestoreMeta({0xc00033a5c0, 0x1e}, {0x1408e80, 0xc00031ef80}, {0x1406600, 0xc0000c6f40})
E               	/percona-backup-mongodb/pbm/restore/storage.go:21 +0x104
E               main.doRestore.func1({0x14051b0, 0xc000327c70}, {0x140b8f8, 0xc0000cc900}, {0xc00033a5c0, 0x1e})
E               	/percona-backup-mongodb/cmd/pbm/restore.go:500 +0x15e
E               main.waitForRestoreStatus({0x14051b0, 0xc000327c70}, {0x140b8f8, 0xc0000cc900}, {0xc00033a5c0, 0x1e}, 0xc0004a9980)
E               	/percona-backup-mongodb/cmd/pbm/restore.go:563 +0x21e
E               main.doRestore({0x1405108, 0xc0000b59b0}, {0x140b8f8, 0xc0000cc900}, 0xc000000180, 0x0, 0x0, {0x0, 0x0, 0x0}, ...)
E               	/percona-backup-mongodb/cmd/pbm/restore.go:506 +0xdc5
E               main.runRestore({0x1405108, 0xc0000b59b0}, {0x140b8f8, 0xc0000cc900}, 0xc0000c4b20, 0xc000000180, {0xc00032ac10, 0xb}, {0x11e306c, 0x4})
E               	/percona-backup-mongodb/cmd/pbm/restore.go:162 +0xaf5
E               main.(*pbmApp).buildRestoreCmd.func1(0x3ba9cef700000000?, {0xc00020a8e0?, 0x0?, 0x0?})
E               	/percona-backup-mongodb/cmd/pbm/main.go:742 +0xa5
E               main.(*pbmApp).buildRestoreCmd.(*pbmApp).wrapRunE.func2(0xc0001a7000?, {0xc00020a8e0?, 0x4?, 0x11e316c?})
E               	/percona-backup-mongodb/cmd/pbm/main.go:85 +0x33
E               github.com/spf13/cobra.(*Command).execute(0xc00023a308, {0xc00020a8c0, 0x2, 0x2})
E               	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:985 +0xaca
E               github.com/spf13/cobra.(*Command).ExecuteC(0xc0001a8608)
E               	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:1117 +0x3ff
E               github.com/spf13/cobra.(*Command).Execute(...)
E               	/percona-backup-mongodb/vendor/github.com/spf13/cobra/command.go:1041
E               main.main()
E               	/percona-backup-mongodb/cmd/pbm/main.go:76 +0x45

cluster.py:467: AssertionError