#9598 Nightly test failure in test_ipahealthcheck
Closed: fixed 8 months ago by frenaud. Opened 8 months ago by frenaud.

There are 2 new test failures related to the fix for ticket 9591:
- test_ipahealthcheck: in test_ipahealthcheck.py::TestIpaHealthCheck::test_ipa_healthcheck_ds_ruv_check

self = <ipatests.test_integration.test_ipahealthcheck.TestIpaHealthCheck object at 0x7f232c2b30b0>

    def test_ipa_healthcheck_ds_ruv_check(self):
        """
        This testcase checks that ipa-healthcheck tool with RUVCheck
        discovers the same RUV entries as the ipa-replica-manage list-ruv
        command
        """
        result = self.master.run_command(
            [
                "ipa-replica-manage",
                "list-ruv",
                "-p",
                self.master.config.dirman_password,
            ]
        )
        output = re.findall(
            r"\w+.+.\w+.\w:\d+", result.stdout_text.replace("389: ", "")
        )
        ruvs = []
        for r in output:
            (host, r) = r.split(":")
            if host == self.master.hostname:
                ruvs.append(r)
        returncode, data = run_healthcheck(
            self.master, "ipahealthcheck.ds.ruv", "RUVCheck"
        )
        assert returncode == 0
        for check in data:
            assert check["result"] == "SUCCESS"
            assert check["kw"]["key"] in (self.master.domain.basedn, "o=ipaca")
>           assert check["kw"]["ruv"] in ruvs
E           AssertionError: assert '4' in []

test_integration/test_ipahealthcheck.py:899: AssertionError

------------------------------ Captured log call -------------------------------
INFO     ipatests.pytest_ipa.integration.host.Host.master.IPAOpenSSHTransport:transport.py:391 RUN ['ipa-replica-manage', 'list-ruv', '-p', 'Secret.123']
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:513 RUN ['ipa-replica-manage', 'list-ruv', '-p', 'Secret.123']
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:557 Replica Update Vectors:
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:557   master: 4
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:557   replica0: 3
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:557   replica0: 7
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:557   replica0: 8
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:557 Certificate Server Replica Update Vectors:
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:557   master: 6
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:557   replica0: 5
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:557   replica0: 9
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd340:transport.py:217 Exit code: 0
INFO     ipatests.pytest_ipa.integration.host.Host.master.IPAOpenSSHTransport:transport.py:391 RUN ['ipa-healthcheck', '--source', 'ipahealthcheck.ds.ruv', '--check', 'RUVCheck', '--output-type', 'json']
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:513 RUN ['ipa-healthcheck', '--source', 'ipahealthcheck.ds.ruv', '--check', 'RUVCheck', '--output-type', 'json']
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557 [
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557   {
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "source": "ipahealthcheck.ds.ruv",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "check": "RUVCheck",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "result": "SUCCESS",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "uuid": "8258e2b8-86ad-491a-b7db-c370b1a583ed",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "when": "20240527130819Z",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "duration": "0.004320",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "kw": {
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557       "key": "dc=ipa,dc=test",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557       "ruv": "4"
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     }
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557   },
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557   {
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "source": "ipahealthcheck.ds.ruv",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "check": "RUVCheck",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "result": "SUCCESS",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "uuid": "6278dd6d-0dc1-4435-b38e-3dada9afeed2",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "when": "20240527130819Z",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "duration": "0.004351",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     "kw": {
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557       "key": "o=ipaca",
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557       "ruv": "6"
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557     }
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557   }
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:557 ]
DEBUG    ipatests.pytest_ipa.integration.host.Host.master.cmd341:transport.py:217 Exit co
  • test_topology_TestCASpecificRUVs: in test_topology.py::TestCASpecificRUVs::test_delete_ruvs
self = <ipatests.test_integration.test_topology.TestCASpecificRUVs object at 0x7fb6850df830>

    def test_delete_ruvs(self):
        """
        http://www.freeipa.org/page/V4/Manage_replication_topology_4_4/
        Test_Plan#Test_case:_clean-ruv_subcommand
        """
        replica = self.replicas[0]
        master = self.master
        res1 = master.run_command(['ipa-replica-manage', 'list-ruv', '-p',
                                  master.config.dirman_password])
>       assert(res1.stdout_text.count(replica.hostname) == 2 and
               "Certificate Server Replica"
               " Update Vectors" in res1.stdout_text), (
               "CA-specific RUVs are not displayed")
E       AssertionError: CA-specific RUVs are not displayed
E       assert (0 == 2)
E        +  where 0 = <built-in method count of str object at 0x7fb684f05530>('replica0.ipa.test')
E        +    where <built-in method count of str object at 0x7fb684f05530> = 'Replica Update Vectors:\n\tmaster: 4\n\treplica0: 3\n\treplica1: 7\nCertificate Server Replica Update Vectors:\n\tmaster: 6\n\treplica0: 5\n\treplica1: 8\n'.count
E        +      where 'Replica Update Vectors:\n\tmaster: 4\n\treplica0: 3\n\treplica1: 7\nCertificate Server Replica Update Vectors:\n\tmaster: 6\n\treplica0: 5\n\treplica1: 8\n' = <pytest_multihost.transport.SSHCommand object at 0x7fb6850f67b0>.stdout_text
E        +    and   'replica0.ipa.test' = <ipatests.pytest_ipa.integration.host.Host replica0.ipa.test (replica)>.hostname

test_integration/test_topology.py:204: AssertionError

The errors happens because the behavior of ipa-replica-manage list-ruv has changed.
Before the fix, the command used to display the RUVs with a fully qualified hostname, for instance:

# ipa-replica-manage list-ruv -p Secret123

Replica Update Vectors:
    server.ipa.test:389: 4
    replica.ipa.test:389: 3
Certificate Server Replica Update Vectors:
    server.ipa.test:389: 6
    replica.ipa.test:389: 5

After the fix, the RUVs are displayed with a shortname:

# ipa-replica-manage list-ruv -p Secret123

Replica Update Vectors:
    server: 4
    replica: 3
Certificate Server Replica Update Vectors:
    server: 6
    replica: 5

Metadata Update from @frenaud:
- Issue tagged with: test-failure

8 months ago

Metadata Update from @frenaud:
- Issue assigned to frenaud

8 months ago

Metadata Update from @frenaud:
- Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/7370

8 months ago

master:

  • 69c6a81 ipa-replica-manage list-ruvs: display FQDN in the output

ipa-4-11:

  • e6750bf ipa-replica-manage list-ruvs: display FQDN in the output

ipa-4-10:

  • b27ba6a ipa-replica-manage list-ruvs: display FQDN in the output

ipa-4-9:

  • 89f6967 ipa-replica-manage list-ruvs: display FQDN in the output

Metadata Update from @frenaud:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

8 months ago

Log in to comment on this ticket.

Metadata