#9152 Regression in TestIpaHealthCheckWithoutDNS
Closed: fixed 2 years ago by frenaud. Opened 2 years ago by frenaud.

The test test_integration/test_ipahealthcheck.py::TestIpaHealthCheckWithoutDNS has been modified by commit 92d8077, adding the --no-dnssec-validation option to the installer, in order to fix https://pagure.io/freeipa/issue/9151.

This commit introduces a regression as the test test_ipa_dns_systemrecords_check is not setting up the DNS server (--no-dnssec-validation cannot be used without --setup-dns).
See the failure in PR #1691:

cls = <class 'ipatests.test_integration.test_ipahealthcheck.TestIpaHealthCheckWithoutDNS'>
mh = <pytest_multihost.plugin.MultihostFixture object at 0x7fc23c5bd4e0>

    @classmethod
    def install(cls, mh):
        tasks.uninstall_replica(cls.master, cls.replicas[0])
        tasks.uninstall_master(cls.master)
>       tasks.install_master(
            cls.master, setup_dns=False, extra_args=['--no-dnssec-validation']
        )

test_integration/test_ipahealthcheck.py:1461: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pytest_ipa/integration/tasks.py:372: in install_master
    result = host.run_command(args, raiseonerr=raiseonerr,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <ipatests.pytest_ipa.integration.host.Host master.ipa.test (master)>
argv = ['ipa-server-install', '-n', 'ipa.test', '-r', 'IPA.TEST', '-p', ...]
set_env = True, stdin_text = None, log_stdout = True, raiseonerr = True
cwd = None, bg = False, encoding = 'utf-8', ok_returncode = 0

    def run_command(self, argv, set_env=True, stdin_text=None,
                    log_stdout=True, raiseonerr=True,
                    cwd=None, bg=False, encoding='utf-8', ok_returncode=0):
        """Wrapper around run_command to log stderr on raiseonerr=True

        :param ok_returncode: return code considered to be correct,
                              you can pass an integer or sequence of integers
        """
        result = super().run_command(
            argv, set_env=set_env, stdin_text=stdin_text,
            log_stdout=log_stdout, raiseonerr=False, cwd=cwd, bg=bg,
            encoding=encoding
        )
        # in FIPS mode SSH may print noise to stderr, remove the string
        # "FIPS mode initialized" + optional newline.
        result.stderr_bytes = FIPS_NOISE_RE.sub(b'', result.stderr_bytes)
        try:
            result_ok = result.returncode in ok_returncode
        except TypeError:
            result_ok = result.returncode == ok_returncode
        if not result_ok and raiseonerr:
            result.log.error('stderr: %s', result.stderr_text)
>           raise subprocess.CalledProcessError(
                result.returncode, argv,
                result.stdout_text, result.stderr_text
            )
E           subprocess.CalledProcessError: Command '['ipa-server-install', '-n', 'ipa.test', '-r', 'IPA.TEST', '-p', 'Secret.123', '-a', 'Secret.123', '--domain-level=1', '--dirsrv-config-file', '/ipatests/ipatests_dse.ldif', '-U', '--no-dnssec-validation']' returned non-zero exit status 2.

pytest_ipa/integration/host.py:202: CalledProcessError
---------------------------- Captured stderr setup -----------------------------
ipa: ERROR: stderr: Usage: ipa-server-install [options]

ipa-server-install: error: You cannot specify a --no-dnssec-validation option without the --setup-dns option
The ipa-server-install command failed.

Metadata Update from @frenaud:
- Issue assigned to frenaud

2 years ago

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

2 years ago

master:

  • 73daf6b ipatests: --no-dnssec-validation requires --setup-dns

ipa-4-9:

  • 7f814d9 ipatests: --no-dnssec-validation requires --setup-dns

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

2 years ago

Login to comment on this ticket.

Metadata