URL: https://github.com/freeipa/freeipa/pull/2099 Author: netoarmando Title: #2099: ipa-server-install: fix zonemgr argument validator Action: opened
PR body: """ Fix `ERROR 'str' object has no attribute 'decode'` when `--zonemgr` is passed to ipa-server-install. Solution copied from commit 75d26e1, function `ipaserver.install.bindinstance.zonemgr_callback` duplicates the behavior of the method affected by this patch. Issue: https://pagure.io/freeipa/issue/7612 """ To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/2099/head:pr2099 git checkout pr2099
From 5f07676a75f0056b7cfca1e320aa1e2e43ca4750 Mon Sep 17 00:00:00 2001 From: Armando Neto <abiag...@redhat.com> Date: Tue, 3 Jul 2018 17:12:07 -0300 Subject: [PATCH 1/2] ipa-server-install: fix zonemgr argument validator Fix `ERROR 'str' object has no attribute 'decode'` when --zonemgr is passed to ipa-server-install. Solution copied from commit 75d26e1f0121f875bdb017b0636c02a6f5660e8a, function `ipaserver.install.bindinstance.zonemgr_callback` duplicates the behavior of the method affected by this patch. Issue: https://pagure.io/freeipa/issue/7612 Signed-off-by: Armando Neto <abiag...@redhat.com> --- ipaserver/install/dns.py | 6 +++++- ipatests/test_integration/test_installation.py | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/ipaserver/install/dns.py b/ipaserver/install/dns.py index 40a3c0b49b..61b4a851e4 100644 --- a/ipaserver/install/dns.py +++ b/ipaserver/install/dns.py @@ -476,7 +476,11 @@ def zonemgr(self, value): encoding = getattr(sys.stdin, 'encoding', None) if encoding is None: encoding = 'utf-8' - value = value.decode(encoding) + + # value is string in py2 and py3 + if not isinstance(value, unicode): + value = value.decode(encoding) + bindinstance.validate_zonemgr_str(value) except ValueError as e: # FIXME we can do this in better way diff --git a/ipatests/test_integration/test_installation.py b/ipatests/test_integration/test_installation.py index ad45f58111..1d3726ca77 100644 --- a/ipatests/test_integration/test_installation.py +++ b/ipatests/test_integration/test_installation.py @@ -460,3 +460,20 @@ def test_reserved_ip_as_forwarder(self): exp_str = ("Invalid IP Address 0.0.0.0: cannot use IANA reserved " "IP address 0.0.0.0") assert exp_str in cmd.stdout_text + + +class TestInstallDNSOptions(IntegrationTest): + + num_replicas = 0 + + @classmethod + def install(cls, mh): + pass + + def test_install_master_with_zonemgr_arg(self): + """Test setup dns with zonemgr option""" + tasks.install_master( + self.master, + setup_dns=True, + extra_args=['--zonemgr', 'm...@example.org'], + ) From ad8cd86d573584e9a19b7f4fceb03fe6c8f00dfd Mon Sep 17 00:00:00 2001 From: Armando Neto <abiag...@redhat.com> Date: Wed, 4 Jul 2018 17:05:55 -0300 Subject: [PATCH 2/2] temp commit --- .freeipa-pr-ci.yaml | 198 +--------------------------------------------------- 1 file changed, 3 insertions(+), 195 deletions(-) diff --git a/.freeipa-pr-ci.yaml b/.freeipa-pr-ci.yaml index cd3e5e5e61..67ff8fd193 100644 --- a/.freeipa-pr-ci.yaml +++ b/.freeipa-pr-ci.yaml @@ -27,206 +27,14 @@ jobs: timeout: 1800 topology: *build - fedora-28/simple_replication: + fedora-28/test_install_dns_options: requires: [fedora-28/build] priority: 50 job: class: RunPytest args: build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_simple_replication.py + test_suite: test_integration/test_installation.py::TestInstallDNSOptions template: *ci-master-f28 timeout: 3600 - topology: *master_1repl - - fedora-28/caless: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_caless.py::TestServerReplicaCALessToCAFull - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl - - fedora-28/external_ca_1: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_external_ca.py::TestExternalCA - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl_1client - - fedora-28/external_ca_2: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_external_ca.py::TestSelfExternalSelf test_integration/test_external_ca.py::TestExternalCAInstall - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl - - fedora-28/test_topologies: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_topologies.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl - - fedora-28/test_sudo: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_sudo.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl_1client - - fedora-28/test_commands: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_commands.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl - - fedora-28/test_kerberos_flags: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_kerberos_flags.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl_1client - - fedora-28/test_http_kdc_proxy: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_http_kdc_proxy.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl_1client - - fedora-28/test_forced_client_enrolment: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_forced_client_reenrollment.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl_1client - - fedora-28/test_advise: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_advise.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl - - fedora-28/test_testconfig: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_testconfig.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl - - fedora-28/test_service_permissions: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_service_permissions.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl - - fedora-28/test_netgroup: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_netgroup.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl - - fedora-28/test_vault: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_vault.py - template: *ci-master-f28 - timeout: 4500 - topology: *master_1repl - - fedora-28/test_authconfig: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_authselect.py - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl_1client - - fedora-28/replica_promotion: - requires: [fedora-28/build] - priority: 50 - job: - class: RunPytest - args: - build_url: '{fedora-28/build_url}' - test_suite: test_integration/test_replica_promotion.py::TestSubCAkeyReplication - template: *ci-master-f28 - timeout: 3600 - topology: *master_1repl + topology: *ipaserver
_______________________________________________ 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://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/freeipa-devel@lists.fedorahosted.org/message/HPSDKGYYHXN3G36TLM2Q4J253OKSHO6I/