selftest: Add dns_hub to selftest/target/README
authorTim Beale <timbeale@catalyst.net.nz>
Wed, 30 Jan 2019 02:10:45 +0000 (15:10 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 1 Feb 2019 02:36:15 +0000 (03:36 +0100)
Add a description explaining what dns_hub does and why we need it.

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
selftest/target/README
selftest/target/dns_hub.py

index 36b68d5dd24f445962ac77fd82dfe48f67ca4cf9..69d70217bdf7b2b60cef56cccc86fc99e73eceb0 100644 (file)
@@ -41,6 +41,19 @@ Note that several of the testenvs also use local in their name, e.g.
 'localvampiredc'. In particular, there's the 'localdc', which is the NetBIOS
 name of the DC in the 'ad_dc_ntvfs' testenv.
 
+dns_hub
+-------
+dns_hub doesn't run a Samba/smbd server like the other testenvs do. It's there
+to solve the problem of how to do DNS more nicely in selftest. Running
+autobuild can start up a lot of different testenvs, and so we end up with
+different DCs running in different domains. Each test suite only wants to talk
+to a specific domain at a time. However, by default the tests all use a common
+client.conf - essentially the tests are simulating a single client that's
+pretending to be in several different domains. The problem is when the test
+wants to resolve a DNS host, which DC should it ask? Each DC only knows about its
+own realm. dns_hub.py acts as a proxy, so it works out the correct DC to forward
+the query to, based on the queried host's realm.
+
 Vampire DC
 ----------
 Vampire DC gets its name for historic reasons. It's one of the few testenvs
index 97b7432294c5129117253a586a9f07f0ab020d9e..d2d1f39e752aee68e1cb221b18b1c475e833ef5c 100755 (executable)
@@ -16,6 +16,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
+# Used by selftest to proxy DNS queries to the correct testenv DC.
+# See selftest/target/README for more details.
 # Based on the EchoServer example from python docs
 
 import threading