
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. 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): Upgrading to a better patch is greatly appreciated. Thank you. Regards, Mark Kachi