Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DNS problem #1

Open
mmalchau opened this issue Oct 15, 2019 · 3 comments
Open

DNS problem #1

mmalchau opened this issue Oct 15, 2019 · 3 comments

Comments

@mmalchau
Copy link

Hi, I'm a student trying to reproduce your scalability results and learn more about nmos.
I'm running the nmos-mininet on Ubuntu-Server 14.04 as a VM in VirtualBox and Ubuntu 18.04 as host. I have a bunch of issues which are somehow related to each other I guess:

After setting up the NMOS extention I tried h1 ping -c1 "h2" to confirm DNS is working within the virtual network.
But > >unknown host h2 << is all I get

After that I tried:

sudo bin/nmos-mn
A simple network will be created, almost as before.
Type mdnsd h1 h4 to run mdnsd for all hosts (h1 to h4).
Type start_registry h1 to start up a registry on host h1.
Type start_node h2 h4 to start up nodes on hosts h2, h3 and h4.
Type query_nodes h1 to print a list of the registered nodes.

The commands are working fine, except query_nodes h1. I get this error message:

Error: No JSON object could be decoded
Unable to find Query API from host: h1

For that reason I checked whether nmos-cpp is working fine.
I ran the nmos-cpp-test script:

nmos-cpp-test is a Catch v1.10.0 host application.
Run with -? for options

-------------------------------------------------------------------------------
testMdnsAdvertiseAddress
-------------------------------------------------------------------------------
/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:76
...............................................................................

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:85: FAILED:
  CATCH_CHECK( advertiser.register_address("test-mdns-advertise-address", "127.0.0.1", {}).get() )
with expansion:
  false

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:87: FAILED:
  CATCH_REQUIRE( gate.hasLogMessage("Registered address: 127.0.0.1 for hostname: test-mdns-advertise-address") )
with expansion:
  false

-------------------------------------------------------------------------------
testMdnsAdvertiseAPIs
-------------------------------------------------------------------------------
/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:93
...............................................................................

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:109: FAILED:
  CATCH_CHECK( advertiser.register_service("test-mdns-advertise-1", "_sea-lion-test1._tcp", testPort1, {}, {}, textRecords).get() )
with expansion:
  false

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:110: FAILED:
  CATCH_CHECK( advertiser.register_service("test-mdns-advertise-2", "_sea-lion-test1._tcp", testPort2, {}, {}, textRecords).get() )
with expansion:
  false

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:111: FAILED:
  CATCH_CHECK( advertiser.register_service("test-mdns-advertise-3", "_sea-lion-test2._tcp", testPort3, {}, {}, textRecords).get() )
with expansion:
  false

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:113: FAILED:
  CATCH_REQUIRE( gate.hasLogMessage("Registered advertisement for: test-mdns-advertise-1._sea-lion-test1._tcp") )
with expansion:
  false

-------------------------------------------------------------------------------
testMdnsBrowseAPIs
-------------------------------------------------------------------------------
/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:121
...............................................................................

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:137: FAILED:
  CATCH_CHECK( advertiser.register_service("test-mdns-browse-1", "_sea-lion-test1._tcp", testPort1, {}, {}, textRecords).get() )
with expansion:
  false

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:138: FAILED:
  CATCH_CHECK( advertiser.register_service("test-mdns-browse-2", "_sea-lion-test1._tcp", testPort2, {}, {}, textRecords).get() )
with expansion:
  false

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:139: FAILED:
  CATCH_CHECK( advertiser.register_service("test-mdns-browse-3", "_sea-lion-test2._tcp", testPort3, {}, {}, textRecords).get() )
with expansion:
  false

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:141: FAILED:
  CATCH_REQUIRE( gate.hasLogMessage("Registered advertisement for: test-mdns-browse-1._sea-lion-test1._tcp") )
with expansion:
  false

-------------------------------------------------------------------------------
testMdnsResolveAPIs
-------------------------------------------------------------------------------
/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:200
...............................................................................

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:229: FAILED:
  CATCH_CHECK( advertiser.register_service("test-mdns-resolve-1", "_sea-lion-test1._tcp", testPort1, {}, {}, textRecords).get() )
with expansion:
  false

/home/mininet/nmos-cpp/Development/mdns/test/mdns_test.cpp:233: FAILED:
  CATCH_REQUIRE( gate.hasLogMessage("Registered advertisement for: test-mdns-resolve-1._sea-lion-test1._tcp") )
with expansion:
  false

===============================================================================
test cases:  49 |  45 passed |  4 failed
assertions: 449 | 437 passed | 12 failed

Did I missed something during installation or setup?
Thanks very much

@garethsb
Copy link
Contributor

Within Mininet CLI, h1 ping - c1 h2 should work as it doesn't require DNS, etc.
If that works, but h1 ping -c1 "h2" doesn't, that does suggest a DNS problem.
Basic DNS within Mininet can be configured using dnsmasq. The install directory has scripts to build it, as well as a Patch script to configure it to be used, and the simple mn-hosts script to generate a simple additional hosts file.
Did you use those as part of the installation?

The later errors are related to multicast DNS-SD. To start the mDNS daemon, there's an mdnsd command in the nmos-mn additions.

@mmalchau
Copy link
Author

Within Mininet CLI, h1 ping - c1 h2 should work as it doesn't require DNS

h1 ping - c1 h2 works but but h1 ping -c1 "h2" doesn't

Did you use those as part of the installation?

Yes, I ran the BuildDnsmasq.sh script within the SetupPart2.sh script.
I tried to build dnsmasq again. It is installed and up to date.

@t-schaefer
Copy link

Hey,
I happen to have the same issue even as I ran the cpp-test. I'm running VBox on Mac. Is there something specific I could configure or check in dnsmasq to activate DNS? Is there something else to check first? thank you already!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants