<div dir="ltr"><div><div><div>Hi guys,<br><br></div>I found a problem on installing server, which has address from small ip zone, less than a class C.<br></div><br>&quot;engine-setup&quot; checks FQDN resolvability in &quot;./plugins/ovirt-engine-setup/config/hostname.py&quot;.<br>
</div><div>This program requests forward &amp; reverse query to DNS, and see if it comes back to host domain name.<br></div><div>But it does not support RFC2317(&quot;Classless IN-ADDR.ARPA delegation&quot;) 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">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">http://www.rfc-editor.org/rfc/rfc2317.txt</a><br><br></div><div>I made patch to &quot;hostname.py&quot; 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">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&quot;&quot;&quot;<br>
             ^<br>-            (?P&lt;query&gt;\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).in-addr.arpa.<br>+            (?P&lt;query&gt;[\w/.-]+)<br>+            \.<br>             \s+<br>             \d+<br>             \s+<br>
             IN<br>             \s+<br>-            PTR<br>+            (?P&lt;type&gt;(PTR|CNAME))<br>             \s+<br>-            (?P&lt;answer&gt;[\w.-]+)<br>+            (?P&lt;answer&gt;[\w/.-]+)<br>             \.<br>
             $<br>         &quot;&quot;&quot;<br>@@ -171,11 +172,32 @@<br>             args=args,<br>             raiseOnError=False<br>         )<br>+        ad=addr.split(&#39;.&#39;)<br>+        query=&quot;{3}.{2}.{1}.{0}.in-addr.arpa&quot;.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(&#39;answer&#39;))<br>+                if not found:<br>
+                    continue<br>+                if query != found.group(&#39;query&#39;):<br>+                    continue<br>+                answer=found.group(&#39;answer&#39;)<br>+                if found.group(&#39;type&#39;) == &#39;CNAME&#39;:<br>
+                    self.logger.debug(<br>+                        &#39;{query} CNAME to: {answer}&#39;.format(<br>+                            query=query,<br>+                            answer=answer,<br>+                        )<br>
+                    )<br>+                    query=answer<br>+                    continue<br>+                self.logger.debug(<br>+                    &#39;{query} resolves to: {answer}&#39;.format(<br>+                        query=query,<br>
+                        answer=answer,<br>+                    )<br>+                )<br>+                names.add(answer)<br>         return names<br><br>     def _validateFQDNresolvability(self, fqdn):<br><br></div><div>
Upgrading to a better patch is greatly appreciated.<br></div><div><br></div><div>Thank you.<br><br></div><div>Regards,<br><br></div><div>Mark Kachi<br></div></div>