
Hi David, Thank you for your quick reply. I'll try to push it to gerrit. Thank you. Best Regards, Mark Kachi 2014-01-28 Yedidyah Bar David <didi@redhat.com>:
Hi,
________________________________
From: "Michelle&Judie" <love.cairn@gmail.com> To: users@ovirt.org Sent: Tuesday, January 28, 2014 12:32:03 PM Subject: [Users] Update request to support "Classless IN-ADDR.ARPA delegation"
Hi guys,
I found a problem on installing server, which has address from small ip zone, less than a class C.
"engine-setup" checks FQDN resolvability in "./plugins/ovirt-engine-setup/config/hostname.py". This program requests forward & reverse query to DNS, and see if it comes back to host domain name.
Indeed. Note that you can just add a suitable entry to /etc/hosts in most cases.
But it does not support RFC2317("Classless IN-ADDR.ARPA delegation") type domain, and fails on FQDN check.
See following URLs for RFC2317 explanation. http://support.simpledns.com/KB/a146/how-to-sub-delegate-a-reverse-zone.aspx http://www.rfc-editor.org/rfc/rfc2317.txt
I made patch to "hostname.py" to clear this problem. Please check following patch, and consider upgrading on the next release.
--- hostname.py.org 2013-12-13 17:22:11.000000000 +0900 +++ hostname.py 2014-01-28 18:01:09.514791351 +0900 @@ -96,15 +96,16 @@ flags=re.VERBOSE, pattern=r""" ^ - (?P<query>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).in-addr.arpa. + (?P<query>[\w/.-]+) + \. \s+ \d+ \s+ IN \s+ - PTR + (?P<type>(PTR|CNAME)) \s+ - (?P<answer>[\w.-]+) + (?P<answer>[\w/.-]+) \. $ """ @@ -171,11 +172,32 @@ args=args, raiseOnError=False ) + ad=addr.split('.') + query="{3}.{2}.{1}.{0}.in-addr.arpa".format(*ad) if rc == 0: for line in stdout: found = self._DIG_REVLOOKUP_RE.search(line) - if found: - names.add(found.group('answer')) + if not found: + continue + if query != found.group('query'): + continue + answer=found.group('answer') + if found.group('type') == 'CNAME': + self.logger.debug( + '{query} CNAME to: {answer}'.format( + query=query, + answer=answer, + ) + ) + query=answer + continue + self.logger.debug( + '{query} resolves to: {answer}'.format( + query=query, + answer=answer, + ) + ) + names.add(answer) return names
def _validateFQDNresolvability(self, fqdn):
Nice Job! Would you like to push it to gerrit yourself for review? See [1] and [2] for details.
[1] http://www.ovirt.org/Develop [2] http://www.ovirt.org/Working_with_oVirt_Gerrit
Thanks, and best regards, -- Didi