From 835436df1549578932705f5722bc78ec985c2f69 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Mon, 17 Jan 2011 12:28:24 -0500 Subject: Provide API to check if IPA DNS is enabled on some server Fixes: https://fedorahosted.org/freeipa/ticket/600 --- ipalib/plugins/dns.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'ipalib/plugins') diff --git a/ipalib/plugins/dns.py b/ipalib/plugins/dns.py index a2d0b8be1..e1d9ce668 100644 --- a/ipalib/plugins/dns.py +++ b/ipalib/plugins/dns.py @@ -616,3 +616,28 @@ class dns_resolve(Command): return dict(result=True, value=query) api.register(dns_resolve) + +class dns_is_enabled(Command): + """ + Checks if any of the servers has the DNS service enabled. + """ + INTERNAL = True + has_output = output.standard_value + + base_dn = 'cn=master,cn=ipa,cn=etc,%s' % api.env.basedn + filter = '(&(objectClass=ipaConfigObject)(cn=DNS))' + + def execute(self, *args, **options): + ldap = self.api.Backend.ldap2 + dns_enabled = False + + try: + ent = ldap.find_entries(filter=filter, base_dn=base_dn) + if len(e): + dns_enabled = True + except Exception, e: + pass + + return dict(result=dns_enabled, value=u'') + +api.register(dns_is_enabled) -- cgit