#9067 Nightly test failure (rawhide) in test_nfs.py::TestIpaClientAutomountFileRestore::test_nsswitch_backup_restore_sssd
Closed: fixed by frenaud. Opened by frenaud.

The nightly test test_nfs.py::TestIpaClientAutomountFileRestore::test_nsswitch_backup_restore_sssd is failing in rawhide, see PR #1381 with the following logs and report:

self = <ipatests.test_integration.test_nfs.TestIpaClientAutomountFileRestore object at 0x7f952471b850>
    def test_nsswitch_backup_restore_sssd(self):
>       self.nsswitch_backup_restore()
test_integration/test_nfs.py:367: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <ipatests.test_integration.test_nfs.TestIpaClientAutomountFileRestore object at 0x7f952471b850>
no_sssd = False
    def nsswitch_backup_restore(
        self,
        no_sssd=False,
    ):
        # In order to get a more pure sum, one that ignores the Generated
        # header and any whitespace we have to do a bit of work...
        sha256nsswitch_cmd = \
            'egrep -v "Generated|^$" /etc/nsswitch.conf | sed "s/\\s//g" ' \
            '| sort | sha256sum'
        cmd = self.clients[0].run_command(sha256nsswitch_cmd)
        orig_sha256 = cmd.stdout_text
        grep_automount_command = \
            "grep automount /etc/nsswitch.conf | cut -d: -f2"
        tasks.install_client(self.master, self.clients[0])
        cmd = self.clients[0].run_command(grep_automount_command)
        after_ipa_client_install = cmd.stdout_text.split()
        if no_sssd:
            ipa_client_automount_command = [
                "ipa-client-automount", "--no-sssd", "-U"
            ]
        else:
            ipa_client_automount_command = [
                "ipa-client-automount", "-U"
            ]
        self.clients[0].run_command(ipa_client_automount_command)
        cmd = self.clients[0].run_command(grep_automount_command)
        after_ipa_client_automount = cmd.stdout_text.split()
        if no_sssd:
            assert after_ipa_client_automount == ['files', 'ldap']
        else:
>           assert after_ipa_client_automount == ['sss', 'files']
E           AssertionError: assert ['files', 'sss'] == ['sss', 'files']
E             At index 0 diff: 'files' != 'sss'
E             Full diff:
E             - ['sss', 'files']
E             + ['files', 'sss']
test_integration/test_nfs.py:326: AssertionError

Test scenario:
- install ipa client
- store the content of /etc/nsswitch.conf, specifically the line related to automount.
- call ipa-client-automount -U
- check the content of /etc/nsswitch.conf. The test expects automount: sss files but fails because the order is reversed.

The test started failing with the versions glibc-2.34.9000-32.fc36.x86_64 and authselect-1.3.0-3.fc36.x86_64, probably in relation to the fix for BZ #2023741 Transfer ownership of /etc/nsswitch.conf to authselect

Starting with this version of authselect, the file /etc/nsswitch.conf is shipped by authselect instead of glibc. The commit 3e3a473 changed the order of the sources for automount from automount: sss files to automount: files sss.

The test needs to be adapted: if sssd version is < 1.3.0, it should expect automount: sss files and otherwise automount: files sss.


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

Metadata Update from @frenaud:
- Issue assigned to frenaud

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

master:

  • d97a221f7e085f0c49c9d4faf94b7ddd14226e75 ipatests: fix expected automount config in nsswitch.conf

ipa-4-9:

  • cd8e9ce173303e192e848e4973aaf2c7bd31ee0a ipatests: fix expected automount config in nsswitch.conf

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

Metadata