Yedidyah Bar David has uploaded a new change for review. Change subject: packaging: setup: queryEnvKey: getHostname ......................................................................
packaging: setup: queryEnvKey: getHostname Change-Id: I349cba8d4478cbdb008e029ba9fb379e6e0f44f2 Signed-off-by: Yedidyah Bar David <d...@redhat.com> --- M packaging/setup/ovirt_engine_setup/dialog.py M packaging/setup/ovirt_engine_setup/hostname.py 2 files changed, 44 insertions(+), 39 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/99/42199/1 diff --git a/packaging/setup/ovirt_engine_setup/dialog.py b/packaging/setup/ovirt_engine_setup/dialog.py index 2bf0382..7ce90b6f 100644 --- a/packaging/setup/ovirt_engine_setup/dialog.py +++ b/packaging/setup/ovirt_engine_setup/dialog.py @@ -61,6 +61,7 @@ hidden=False, prompt=False, default=None, + name=None, ): """Query string and validate it. Params: @@ -78,6 +79,7 @@ If True and a test failed, ask user again. Otherwise prompt user to accept value anyway. 'warn_note' -- Message displayed if warning, defaults to 'Accept?' + 'warn_name' -- warn dialog name 'interactive_only' -- Do not run test if env[key] is already set """ @@ -86,7 +88,11 @@ while not valid: if interactive: value = dialog.queryString( - name='queryEnvKey_input:{key}'.format(key=key), + name=( + 'queryEnvKey_input:{key}'.format(key=key) + if name is None + else name + ), note=note, validValues=validValues, caseSensitive=caseSensitive, @@ -111,8 +117,11 @@ logger.warning(msg) if not queryBoolean( dialog=dialog, - name='queryEnvKey_warnverify:{key}'.format( - key=key + name=( + 'queryEnvKey_warnverify:{key}'.format( + key=key + ) if test.get('warn_name') is None + else test['warn_name'] ), note='{msg} (@VALUES@) [@DEFAULT@]: '.format( msg=test.get('warn_note', _('OK? ')), diff --git a/packaging/setup/ovirt_engine_setup/hostname.py b/packaging/setup/ovirt_engine_setup/hostname.py index 5509f3b..5bbe42a 100644 --- a/packaging/setup/ovirt_engine_setup/hostname.py +++ b/packaging/setup/ovirt_engine_setup/hostname.py @@ -23,6 +23,7 @@ from otopi import base, util from ovirt_engine_setup import constants as osetupcons +from ovirt_engine_setup import dialog def _(m): @@ -310,49 +311,44 @@ ) ]) + def test_hostname(name): + res = '' + try: + self._validateFQDN(name) + self._validateFQDNresolvability(name) + except RuntimeError as e: + res = _('Host name is not valid: {e}').format(e=e) + self.logger.debug('test_hostname exception', exc_info=True) + return res + def getHostname(self, envkey, whichhost, supply_default, prompttext=None): - interactive = self.environment[envkey] is None - validFQDN = False if prompttext is None: prompttext = _( 'Host fully qualified DNS name of {whichhost} server' ).format( whichhost=whichhost, ) - while not validFQDN: - if interactive: - fqdn = socket.getfqdn() - self.environment[ - envkey - ] = self.dialog.queryString( - name='OVESETUP_NETWORK_FQDN_{whichhost}'.format( - whichhost=whichhost.replace(' ', '_'), - ), - note=_( - '{prompt} [@DEFAULT@]: ' - ).format( - prompt=prompttext, - ), - prompt=True, - default=fqdn if supply_default else '', - ) - try: - self._validateFQDN( - self.environment[envkey] - ) - self._validateFQDNresolvability( - self.environment[envkey] - ) - validFQDN = True - except RuntimeError as e: - self.logger.error( - _('Host name is not valid: {error}').format( - error=e, - ), - ) - self.logger.debug('exception', exc_info=True) - if not interactive: - break + return queryEnvKey( + name='OVESETUP_NETWORK_FQDN_{whichhost}'.format( + whichhost=whichhost.replace(' ', '_'), + ), + dialog=self.dialog, + logger=self.logger, + env=self.environment, + key=envkey, + note=_( + '{prompt} [@DEFAULT@]: ' + ).format( + prompt=prompttext, + ), + prompt=True, + default=socket.getfqdn() if supply_default else '', + tests=( + { + 'test': test_hostname, + }, + ), + ) # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.ovirt.org/42199 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I349cba8d4478cbdb008e029ba9fb379e6e0f44f2 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yedidyah Bar David <d...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches