URL: https://github.com/freeipa/freeipa/pull/3463 Author: fcami Title: #3463: test_nfs.py: switch to tasks.config_replica_resolvconf_with_master_data() Action: opened
PR body: """ Previously test_nfs.py would implement its own method to configure resolv.conf leading to cleanup failures in some cases. Use tasks.config_replica_resolvconf_with_master_data() instead. Also simplify and fix client uninstall. Fixes: https://pagure.io/freeipa/issue/7949 Signed-off-by: François Cami <fc...@redhat.com> """ To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/3463/head:pr3463 git checkout pr3463
From d6abffc76fb08bf3aff2f9ca2539356ea079a725 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fc...@redhat.com> Date: Mon, 29 Jul 2019 17:53:36 +0200 Subject: [PATCH 1/2] test_nfs.py: switch to tasks.config_replica_resolvconf_with_master_data() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously test_nfs.py would implement its own method to configure resolv.conf leading to cleanup failures in some cases. Use tasks.config_replica_resolvconf_with_master_data() instead. Also simplify and fix client uninstall. Fixes: https://pagure.io/freeipa/issue/7949 Signed-off-by: François Cami <fc...@redhat.com> --- ipatests/test_integration/test_nfs.py | 42 +++++---------------------- 1 file changed, 8 insertions(+), 34 deletions(-) diff --git a/ipatests/test_integration/test_nfs.py b/ipatests/test_integration/test_nfs.py index b9dc5d67f9..36d30ed4a2 100644 --- a/ipatests/test_integration/test_nfs.py +++ b/ipatests/test_integration/test_nfs.py @@ -15,14 +15,12 @@ from __future__ import absolute_import -import time +import os import re +import time from ipatests.test_integration.base import IntegrationTest from ipatests.pytest_ipa.integration import tasks -from ipaplatform.paths import paths - -import os # give some time for units to stabilize # otherwise we get transient errors @@ -30,32 +28,7 @@ WAIT_AFTER_UNINSTALL = WAIT_AFTER_INSTALL -class TestInit(IntegrationTest): - - @classmethod - def fix_resolv_conf(cls, client, server): - - contents = client.get_file_contents(paths.RESOLV_CONF, - encoding='utf-8') - nameserver = 'nameserver %s\n' % server.ip - if not contents.startswith(nameserver): - contents = nameserver + contents.replace(nameserver, '') - client.run_command([ - '/usr/bin/cp', paths.RESOLV_CONF, - '%s.sav' % paths.RESOLV_CONF - ]) - client.put_file_contents(paths.RESOLV_CONF, contents) - - @classmethod - def restore_resolv_conf(cls, client): - client.run_command([ - '/usr/bin/cp', - '%s.sav' % paths.RESOLV_CONF, - paths.RESOLV_CONF - ]) - - -class TestNFS(TestInit): +class TestNFS(IntegrationTest): num_replicas = 2 num_clients = 1 @@ -67,7 +40,9 @@ def install(cls, mh): tasks.install_master(cls.master, setup_dns=True) clients = (cls.clients[0], cls.replicas[0], cls.replicas[1]) for client in clients: - cls.fix_resolv_conf(client, cls.master) + tasks.config_replica_resolvconf_with_master_data( + cls.master, client + ) tasks.install_client(cls.master, client) client.run_command(["cat", "/etc/resolv.conf"]) @@ -89,8 +64,6 @@ def cleanup(self): nfssrv.run_command(["rm", "-rf", "/exports"]) - tasks.uninstall_client(nfsclt) - tasks.uninstall_client(nfssrv) self.master.run_command([ "ipa", "host-mod", automntclt.hostname, "--location", "''" @@ -101,8 +74,9 @@ def cleanup(self): ]) nfsclt.run_command(["systemctl", "restart", "nfs-utils"]) nfssrv.run_command(["systemctl", "restart", "nfs-utils"]) + for client in (nfssrv, nfsclt, automntclt): - self.restore_resolv_conf(client) + tasks.uninstall_client(client) tasks.uninstall_master(self.master) def test_prepare_users(self): From 1114444dfe8f3fe3a8b7267737dda6bb24c8eb97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Cami?= <fc...@redhat.com> Date: Mon, 29 Jul 2019 18:00:25 +0200 Subject: [PATCH 2/2] temp commit --- .freeipa-pr-ci.yaml | 2 +- ipatests/prci_definitions/temp_commit.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.freeipa-pr-ci.yaml b/.freeipa-pr-ci.yaml index abcf8c5b63..8065669008 120000 --- a/.freeipa-pr-ci.yaml +++ b/.freeipa-pr-ci.yaml @@ -1 +1 @@ -ipatests/prci_definitions/gating.yaml \ No newline at end of file +ipatests/prci_definitions/temp_commit.yaml \ No newline at end of file diff --git a/ipatests/prci_definitions/temp_commit.yaml b/ipatests/prci_definitions/temp_commit.yaml index 028921cd4b..f9c39791d6 100644 --- a/ipatests/prci_definitions/temp_commit.yaml +++ b/ipatests/prci_definitions/temp_commit.yaml @@ -45,14 +45,14 @@ jobs: timeout: 1800 topology: *build - fedora-30/temp_commit: + fedora-30/nfs: requires: [fedora-30/build] priority: 50 job: class: RunPytest args: build_url: '{fedora-30/build_url}' - test_suite: test_integration/test_REPLACEME.py + test_suite: test_integration/test_nfs.py::TestNFS template: *ci-master-f30 - timeout: 3600 - topology: *master_1repl_1client + timeout: 9000 + topology: *master_2repl_1client
_______________________________________________ FreeIPA-devel mailing list -- freeipa-devel@lists.fedorahosted.org To unsubscribe send an email to freeipa-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/freeipa-devel@lists.fedorahosted.org