<html><body><div style="font-family: times new roman, new york, times, serif; font-size: 12pt; color: #000000"><div>Hi,<br></div><div><br></div><hr id="zwchr"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"Michelle&Judie" <love.cairn@gmail.com><br><b>To: </b>users@ovirt.org<br><b>Sent: </b>Tuesday, January 28, 2014 12:32:03 PM<br><b>Subject: </b>[Users] Update request to support "Classless IN-ADDR.ARPA delegation"<br><div><br></div><div dir="ltr"><div><div><div>Hi guys,<br><div><br></div></div>I found a problem on installing server, which has address from small ip zone, less than a class C.<br></div><br>"engine-setup" checks FQDN resolvability in "./plugins/ovirt-engine-setup/config/hostname.py".<br></div><div>This program requests forward & reverse query to DNS, and see if it comes back to host domain name.</div></div></blockquote><div><br></div><div>Indeed. Note that you can just add a suitable entry to /etc/hosts in most cases.</div><div><br></div><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div dir="ltr"><div><br></div><div>But it does not support RFC2317("Classless IN-ADDR.ARPA delegation") type domain, and fails on FQDN check.<br><br>See following URLs for RFC2317 explanation.<br><a href="http://support.simpledns.com/KB/a146/how-to-sub-delegate-a-reverse-zone.aspx" target="_blank">http://support.simpledns.com/KB/a146/how-to-sub-delegate-a-reverse-zone.aspx</a><br><a href="http://www.rfc-editor.org/rfc/rfc2317.txt" target="_blank">http://www.rfc-editor.org/rfc/rfc2317.txt</a><br><div><br></div></div><div>I made patch to "hostname.py" to clear this problem.<br></div><div>Please check following patch, and consider upgrading on the next release.<br><br>--- <a href="http://hostname.py.org" target="_blank">hostname.py.org</a> 2013-12-13 17:22:11.000000000 +0900<br>+++ hostname.py 2014-01-28 18:01:09.514791351 +0900<br>@@ -96,15 +96,16 @@<br> flags=re.VERBOSE,<br> pattern=r"""<br>
^<br>- (?P<query>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).in-addr.arpa.<br>+ (?P<query>[\w/.-]+)<br>+ \.<br> \s+<br> \d+<br> \s+<br>
IN<br> \s+<br>- PTR<br>+ (?P<type>(PTR|CNAME))<br> \s+<br>- (?P<answer>[\w.-]+)<br>+ (?P<answer>[\w/.-]+)<br> \.<br>
$<br> """<br>@@ -171,11 +172,32 @@<br> args=args,<br> raiseOnError=False<br> )<br>+ ad=addr.split('.')<br>+ query="{3}.{2}.{1}.{0}.in-addr.arpa".format(*ad)<br>
if rc == 0:<br> for line in stdout:<br> found = self._DIG_REVLOOKUP_RE.search(line)<br>- if found:<br>- names.add(found.group('answer'))<br>+ if not found:<br>
+ continue<br>+ if query != found.group('query'):<br>+ continue<br>+ answer=found.group('answer')<br>+ if found.group('type') == 'CNAME':<br>
+ self.logger.debug(<br>+ '{query} CNAME to: {answer}'.format(<br>+ query=query,<br>+ answer=answer,<br>+ )<br>
+ )<br>+ query=answer<br>+ continue<br>+ self.logger.debug(<br>+ '{query} resolves to: {answer}'.format(<br>+ query=query,<br>
+ answer=answer,<br>+ )<br>+ )<br>+ names.add(answer)<br> return names<br><div><br></div> def _validateFQDNresolvability(self, fqdn):</div></div></blockquote><div><br></div><div>Nice Job! Would you like to push it to gerrit yourself for review? See [1] and [2]</div><div>for details.</div><div><br></div><div>[1] <a href="http://www.ovirt.org/Develop" data-mce-href="http://www.ovirt.org/Develop">http://www.ovirt.org/Develop</a></div><div>[2] <a href="http://www.ovirt.org/Working_with_oVirt_Gerrit" data-mce-href="http://www.ovirt.org/Working_with_oVirt_Gerrit">http://www.ovirt.org/Working_with_oVirt_Gerrit</a></div><div><br></div><div>Thanks, and best regards,</div><div>-- <br></div><div><span name="x"></span>Didi<span name="x"></span><br></div><div><br></div></div></body></html>