Search code examples
dnsmesosmesosphere

Why does Mesos-DNS not provide a SRV answer?


I have a vagrant box which is running Mesos, Marathon and Chronos (publicly packaged as playa-mesos). It is a sane environment (I have customized to a 192.168.. ip address though) and I can launch different apps incl. docker containerized ones. I have tried a new demo, where there is a DNS requirement and the mesos application launch definition is as below :

{
 "id": "mesos-dns",
 "instances": 1,
 "cpus": 0.2,
 "mem": 50,
 "cmd": "/mesos-dns -config=/config.json",
 "container": {
  "type": "DOCKER",
  "docker": {
  "image": "mesosphere/mesos-dns:latest",
  "network": "HOST"
},
"volumes": [
  {
    "containerPath": "/config.json",
    "hostPath": "/etc/mesos-dns/config.json",
    "mode": "RO"
  }
]
}
}

The config.json is as under :

{
"zk": "zk://127.0.0.1:2181/mesos",
"refreshSeconds": 60,
"ttl": 60,
"domain": "mesos",
"port": 53,
"resolvers": ["10.0.2.3"],
"timeout": 5,
"email": "root.mesos-dns.mesos"
}

The /etc/resolv.conf contains nameserver 10.0.2.3

Below is the dig response I get to my DNS query; both are shown below :-

dig _webdis-site-m-shop._tcp.marathon.mesos SRV

; <<>> DiG 9.9.5-3ubuntu0.1-Ubuntu <<>> _webdis-site-m-shop._tcp.marathon.mesos SRV
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 4759
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 8192
;; QUESTION SECTION:
;_webdis-site-m-shop._tcp.marathon.mesos. IN SRV

;; AUTHORITY SECTION:
.                       56521   IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2016021800 1
800 900 604800 86400

;; Query time: 155 msec
;; SERVER: 10.0.2.3#53(10.0.2.3)
;; WHEN: Thu Feb 18 13:38:21 UTC 2016
;; MSG SIZE  rcvd: 143`

As you can see there is no ANSWER and the status NXDOMAIN means that this query resulted in a non-existent domain.

Can someone help me fix this ?

TIA.


Solution

  • This is now fixed. I have taken some thoughts from other posts on SO. I have changed the OOTB setting for ip address etc... Broadly I added the 127.0.0.1 loopback ip addr, virtualbox generated ip addr (which in my case is 192.168.x.y) and retained the existing nameserver entry. The results of the dig command is now :-

    dig _webdis-site-m-shop._tcp.marathon.mesos SRV
    
    ; <<>> DiG 9.9.5-3ubuntu0.1-Ubuntu <<>> _webdis-site-m-shop._tcp.marathon.mesos SRV
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6284
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; QUESTION SECTION:
    ;_webdis-site-m-shop._tcp.marathon.mesos. IN SRV
    
    ;; ANSWER SECTION:
    _webdis-site-m-shop._tcp.marathon.mesos. 60 IN SRV 0 0 31720 webdis-site-m-shop-39847-s0.marathon.mesos.
    
    
    ;; ADDITIONAL SECTION:
    webdis-site-m-shop-39847-s0.marathon.mesos. 60 IN A 192.168.56.106
    
    ;; Query time: 2 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Thu Feb 18 16:55:57 UTC 2016
    ;; MSG SIZE  rcvd: 216