#8023 Test failure in test_integration/test_topology.py::TestCASpecificRUVs::()::test_replica_uninstall_deletes_ruvs
Opened 11 months ago by frenaud. Modified 11 months ago

Nightly failure detected in [testing_f29] in the test fedora-29/test_topology_TestCASpecificRUVs, see PR 3442.

The test is failing in test_integration/test_topology.py::TestCASpecificRUVs::()::test_replica_uninstall_deletes_ruvs.

self = <ipatests.test_integration.test_topology.TestCASpecificRUVs object at 0x7fb643ff1ef0>

    def test_replica_uninstall_deletes_ruvs(self):
        """
            http://www.freeipa.org/page/V4/Manage_replication_topology_4_4/Test_Plan
            #Test_case:_.2A-ruv_subcommands_of_ipa-replica-manage_are_extended
            _to_handle_CA-specific_RUVs
            """
        master = self.master
        replica = self.replicas[1]
        res1 = master.run_command(['ipa-replica-manage', 'list-ruv', '-p',
                                  master.config.dirman_password]).stdout_text
        assert(res1.count(replica.hostname) == 2), (
            "Did not find proper number of replica hostname (%s) occurrencies"
            " in the command output: %s" % (replica.hostname, res1))

        master.run_command(['ipa-replica-manage', 'del', replica.hostname,
                            '-p', master.config.dirman_password])
        tasks.uninstall_master(replica)
        # ipa-replica-manage del launches a clean-ruv task which is
        # ASYNCHRONOUS
        # wait for the task to finish before checking list-ruv
        tasks.wait_for_cleanallruv_tasks(self.master.ldap_connect())
        res2 = master.run_command(['ipa-replica-manage', 'list-ruv', '-p',
                                  master.config.dirman_password]).stdout_text
>       assert(replica.hostname not in res2), (
            "Replica RUVs were not clean during replica uninstallation")
E       AssertionError: Replica RUVs were not clean during replica uninstallation
E       assert 'replica0.ipa.test' not in 'Replica Update V...ipa.test:389: 6\n'
E         'replica0.ipa.test' is contained here:
E           Replica Update Vectors:
E               master.ipa.test:389: 4
E               replica1.ipa.test:389: 3
E               replica0.ipa.test:389: 7
E           Certificate Server Replica Update Vectors:
E               master.ipa.test:389: 6

Test scenario (test_delete_ruvs):
- install master + 2 replicas
- stop ds on replica0
- on replica0 call ipa-replica-manage clean-ruv -f twice (to clear the ruv on CA suffix and on domain suffix)
- check that there is no ruv any more with replica0
- start ds on replica0
Then second test (test_replica_uninstall_deletes_ruvs):
- on master run ipa-replica-manage del replica1
- on replica1 ipa-server-install --uninstall
- on master wait for cleanallruv task to finish
- on master check that list-ruv does not show any more replica1

The test fails at the last step.

Note: the code for wait_for_cleanallruv_tasks looks buggy as it does not return any exception if the function exits on timeout.


Login to comment on this ticket.

Metadata