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 75d26e1f01,
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 <abiagion@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Christian Heimes <cheimes@redhat.com>
This commit is contained in:
Armando Neto
2018-07-03 17:12:07 -03:00
committed by Christian Heimes
parent 9c86d35a3f
commit e8d33ccfd1
2 changed files with 10 additions and 2 deletions

View File

@@ -476,7 +476,11 @@ class DNSInstallInterface(hostname.HostNameInstallInterface):
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