fix resolv.conf issue on plc
[myplc.git] / dns-config
index f34939b..b2fa1e7 100755 (executable)
@@ -56,24 +56,26 @@ def main():
     for node in GetNodes():
         nodes[node['node_id']] = node
 
-    nodenetwork_ids = set()
+    interface_ids = set()
     for node in nodes.values():
-        nodenetwork_ids.update(node['nodenetwork_ids'])
+        interface_ids.update(node['interface_ids'])
 
-    for nodenetwork in GetNodeNetworks(list(nodenetwork_ids)):
-        if not nodenetwork['ip']:
+    for interface in GetInterfaces(list(interface_ids)):
+        if not interface['ip']:
             continue
 
-        if nodenetwork['hostname']:
-            hostname = nodenetwork['hostname']
-        else:
-            hostname = nodes[nodenetwork['node_id']]['hostname']
+        if interface['hostname']:
+            hostname = interface['hostname']
+        else:      
+            if not interface['is_primary']:
+                continue
+            hostname = nodes[interface['node_id']]['hostname']
 
-        if hosts.has_key(nodenetwork['ip']):
-            if hostname not in hosts[nodenetwork['ip']]:
-                hosts[nodenetwork['ip']].append(hostname)
+        if hosts.has_key(interface['ip']):
+            if hostname not in hosts[interface['ip']]:
+                hosts[interface['ip']].append(hostname)
         else:
-            hosts[nodenetwork['ip']] = [hostname]
+            hosts[interface['ip']] = [hostname]
     
     # Write /etc/plc_hosts
     plc_hosts = open("/etc/plc_hosts", "w")
@@ -94,6 +96,7 @@ domain-needed
 bogus-priv
 addn-hosts=/etc/plc_hosts
 resolv-file=/etc/plc_resolv.conf
+conf-dir=/etc/dnsmasq.d
 """.lstrip())
 
     # Reload dnsmasq