summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2015-11-18 19:44:08 +0100
committerMartin Basti <mbasti@redhat.com>2015-11-25 14:09:02 +0100
commit749dfc3917cd5b3d0f222d144e8fc96e08308e10 (patch)
tree6dcb0c59520fc0e2006cf1857e331d27555f2171
parent801672cc6618947f5cc4607910871e695587fcbf (diff)
Make command dns-resolve deprecated.
To debug DNS issues other commands should be used like 'dig', 'host', 'nslookup' instead of command 'ipa dns-resolve'. This command is executed on server side, what may not be helpful with debugging clients. 'ipa dns-resolve' command is worse copy of host command, users should use 'host' command instead. dns-resolve is removed from CLI https://fedorahosted.org/freeipa/ticket/5466 Reviewed-By: Petr Spacek <pspacek@redhat.com>
-rw-r--r--ipalib/messages.py10
-rw-r--r--ipalib/plugins/dns.py17
2 files changed, 24 insertions, 3 deletions
diff --git a/ipalib/messages.py b/ipalib/messages.py
index 7b4aaf4d8..44fee6d15 100644
--- a/ipalib/messages.py
+++ b/ipalib/messages.py
@@ -311,6 +311,16 @@ class DNSSuspiciousRelativeName(PublicMessage):
)
+class CommandDeprecatedWarning(PublicMessage):
+ """
+ **13015** Used when user uses a deprecated option
+ """
+
+ errno = 13015
+ type = "warning"
+ format = _(u"'%(command)s' is deprecated. %(additional_info)s")
+
+
def iter_messages(variables, base):
"""Return a tuple with all subclasses
"""
diff --git a/ipalib/plugins/dns.py b/ipalib/plugins/dns.py
index 02044d1e0..7bbb092c8 100644
--- a/ipalib/plugins/dns.py
+++ b/ipalib/plugins/dns.py
@@ -4182,7 +4182,9 @@ class dnsrecord_find(LDAPSearch):
@register()
class dns_resolve(Command):
- __doc__ = _('Resolve a host name in DNS.')
+ __doc__ = _('Resolve a host name in DNS. (Deprecated)')
+
+ NO_CLI = True
has_output = output.standard_value
msg_summary = _('Found \'%(value)s\'')
@@ -4204,8 +4206,17 @@ class dns_resolve(Command):
raise errors.NotFound(
reason=_('Host \'%(host)s\' not found') % {'host': query}
)
-
- return dict(result=True, value=query)
+ result = dict(result=True, value=query)
+ messages.add_message(
+ options['version'], result,
+ messages.CommandDeprecatedWarning(
+ command='dns-resolve',
+ additional_info='The command may return an unexpected result, '
+ 'the resolution of the DNS domain is done on '
+ 'a randomly chosen IPA server.'
+ )
+ )
+ return result
@register()