vdns subdomain delegation

Bug #1542516 reported by tom murray
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R2.20
Fix Committed
High
Nipa
R2.21.x
Fix Committed
High
Nipa
R2.22.x
Fix Committed
High
Nipa
R3.0
Fix Committed
High
Nipa
Trunk
Fix Committed
High
Nipa

Bug Description

this is with contrail 2.23 and 3.0

I would like to configure a subdomain to be delegated from a vDNS domain. Suppose we have a domain like "delegate.com" configured as a vDNS server. We want to add a subdomain like "sub.delegate.com" which is handled by a different name server.

This does not currently work. It appears that the NS record is being ignored.

We set up a vdns server with the following:

DNS Server vdns1
Display Name vdns1
UUID b37fe412-a47b-488d-8f22-3fe324068abb
Domain Name delegate.com
Time To Live 86400 (seconds)
Record Resolution Order Random
Floating IP Record dashed-ip-tenant-name
External Visibility Disabled
Reverse Resolution Disabled
Associated IPAMs admin:ipam-nipa-delegate, default-project:default-network-ipam

Then we add a NS record like:
DNS Record Name sub.delegate.com
UUID a4775035-f34c-4586-a2d3-011cacb87da5
DNS Record Type NS (Delegation Record)
DNS Record Data google.com
Time To Live 86400 (seconds)
DNS Record Class IN

Introspection shows:

virtual_dns
virtual_dns records subnets
virtual_dns
name
default-domain:vdns1
dns_name
delegate.com
dns_dyn_rec
true
dns_order
random
dns_ttl
86400
dns_next -
installed
true
floating_ip_record
dashed-ip-tenant-name
external_visible
no
reverse_resolution
no
records
name rec_name rec_type rec_class rec_data rec_ttl source installed
default-domain:vdns1:12:3.7.8.9.in-addr.arpa:vm1
3.7.8.9.in-addr.arpa
PTR
IN
vm1
86400
Agent
false
default-domain:vdns1:1:vm2:9.8.7.4
vm2
A
IN
9.8.7.4
86400
Agent
true
default-domain:vdns1:1:vm1:9.8.7.3
vm1
A
IN
9.8.7.3
86400
Agent
true
default-domain:vdns1:12:4.7.8.9.in-addr.arpa:vm2
4.7.8.9.in-addr.arpa
PTR
IN
vm2
86400
Agent
false
default-domain:vdns1:75a0e1fd-eafd-483d-9809-7664ab21ec06
sub.delegate.com
NS
IN
google.com
86400
Config
true
subnets
9.8.7.0/24

however i see the following behavior:

this works:

root@gngsvm001d:/opt/contrail/utils# nslookup www.delegate.com 10.204.216.24
Server: 10.204.216.24
Address: 10.204.216.24#53

Non-authoritative answer:
www.delegate.com canonical name = delegate.grgcloud.net.
delegate.grgcloud.net canonical name = www-delegate-com-737870015.eu-west-1.elb.amazonaws.com.
Name: www-delegate-com-737870015.eu-west-1.elb.amazonaws.com
Address: 52.19.148.186
Name: www-delegate-com-737870015.eu-west-1.elb.amazonaws.com
Address: 54.77.167.247

But the subdomain www.sub.delegate.com does not:

root@gngsvm001d:/opt/contrail/utils# nslookup www.sub.delegate.com 10.204.216.24
Server: 10.204.216.24
Address: 10.204.216.24#53

** server can't find www.sub.delegate.com: NXDOMAIN

Tags: vdns
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/17600
Submitter: Nipa Kumar (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/17600
Committed: http://github.org/Juniper/contrail-controller/commit/638e7b0d43050fd99b39e7d9ca34f7a42d6502c7
Submitter: Zuul
Branch: master

commit 638e7b0d43050fd99b39e7d9ca34f7a42d6502c7
Author: Nipa Kumar <email address hidden>
Date: Mon Feb 22 16:28:59 2016 -0800

Default zones will have an empty forwarders {} list.

1) Add default zone config (A records) with empty forwarders list {}. This results
in contrail-named daemon delegating the subzone using NS records configured.
Adding forwarders list under zone ensure the rule applied for a zone.

Previously as the forwarders list was under view level, for any records
not in local-cache within the zone, resulted in queries being forwarded.

2) Add RR zones (PTR records) with an empty forwarders list. This will result in
DNS not trying to resolve the PTR records when RR is disabled.

3) When dns forwarder is configured, this will apply at view level and zone
level will not be empty anymore.

4) When dns forwarder is configures, zone level will be empty only if RR is
diabled for PTR records.

view "default-domain-vdns-1" {
rrset-order {order random;};
virtual-forwarder "default-domain-vdns-2";
zone "1.1.21.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-1.1.1.21.in-addr.arpa.zone";
allow-update {127.0.0.1;};
};
zone "new.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-1.new.net.zone";
allow-update {127.0.0.1;};
};
};

view "default-domain-vdns-2" {
rrset-order {order random;};
forwarders {8.8.8.8; 10.84.5.100; 172.21.200.60; 172.29.131.60; };
zone "1.1.31.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.1.1.31.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "4.4.4.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.4.4.4.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "new.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.new.net.zone";
allow-update {127.0.0.1;};
forwarders { };
};
};

view "default-domain-vdns-ns-record" {
rrset-order {order random;};
forwarders {8.8.8.8; 10.84.5.100; 172.21.200.60; 172.29.131.60; };
zone "2.2.2.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.2.2.2.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "6.6.6.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.6.6.6.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "abc.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.abc.net.zone";
allow-update {127.0.0.1;};
forwarders { };
};
};

Change-Id: I3a573c771d09a247a0627fab3734af7f176f66ff
Closes-Bug:1547236
Closes-Bug:1542516

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.0

Review in progress for https://review.opencontrail.org/18493
Submitter: Nipa Kumar (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.22.x

Review in progress for https://review.opencontrail.org/18494
Submitter: Nipa Kumar (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.21.x

Review in progress for https://review.opencontrail.org/18495
Submitter: Nipa Kumar (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.20

Review in progress for https://review.opencontrail.org/18496
Submitter: Nipa Kumar (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/18493
Committed: http://github.org/Juniper/contrail-controller/commit/ac4e108f61cbdd283077a7702577a3517869933a
Submitter: Zuul
Branch: R3.0

commit ac4e108f61cbdd283077a7702577a3517869933a
Author: Nipa Kumar <email address hidden>
Date: Mon Feb 22 16:28:59 2016 -0800

Default zones will have an empty forwarders {} list.

1) Add default zone config (A records) with empty forwarders list {}. This results
in contrail-named daemon delegating the subzone using NS records configured.
Adding forwarders list under zone ensure the rule applied for a zone.

Previously as the forwarders list was under view level, for any records
not in local-cache within the zone, resulted in queries being forwarded.

2) Add RR zones (PTR records) with an empty forwarders list. This will result in
DNS not trying to resolve the PTR records when RR is disabled.

3) When dns forwarder is configured, this will apply at view level and zone
level will not be empty anymore.

4) When dns forwarder is configures, zone level will be empty only if RR is
diabled for PTR records.

view "default-domain-vdns-1" {
rrset-order {order random;};
virtual-forwarder "default-domain-vdns-2";
zone "1.1.21.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-1.1.1.21.in-addr.arpa.zone";
allow-update {127.0.0.1;};
};
zone "new.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-1.new.net.zone";
allow-update {127.0.0.1;};
};
};

view "default-domain-vdns-2" {
rrset-order {order random;};
forwarders {8.8.8.8; 10.84.5.100; 172.21.200.60; 172.29.131.60; };
zone "1.1.31.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.1.1.31.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "4.4.4.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.4.4.4.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "new.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.new.net.zone";
allow-update {127.0.0.1;};
forwarders { };
};
};

view "default-domain-vdns-ns-record" {
rrset-order {order random;};
forwarders {8.8.8.8; 10.84.5.100; 172.21.200.60; 172.29.131.60; };
zone "2.2.2.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.2.2.2.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "6.6.6.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.6.6.6.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "abc.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.abc.net.zone";
allow-update {127.0.0.1;};
forwarders { };
};
};

Change-Id: I3a573c771d09a247a0627fab3734af7f176f66ff
Closes-Bug:1547236
Closes-Bug:1542516

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/18496
Committed: http://github.org/Juniper/contrail-controller/commit/a6ec84cec82bd8ff7649b1836a0a542148914b48
Submitter: Zuul
Branch: R2.20

commit a6ec84cec82bd8ff7649b1836a0a542148914b48
Author: Nipa Kumar <email address hidden>
Date: Mon Feb 22 16:28:59 2016 -0800

Default zones will have an empty forwarders {} list.

1) Add default zone config (A records) with empty forwarders list {}. This results
in contrail-named daemon delegating the subzone using NS records configured.
Adding forwarders list under zone ensure the rule applied for a zone.

Previously as the forwarders list was under view level, for any records
not in local-cache within the zone, resulted in queries being forwarded.

2) Add RR zones (PTR records) with an empty forwarders list. This will result in
DNS not trying to resolve the PTR records when RR is disabled.

3) When dns forwarder is configured, this will apply at view level and zone
level will not be empty anymore.

4) When dns forwarder is configures, zone level will be empty only if RR is
diabled for PTR records.

view "default-domain-vdns-1" {
rrset-order {order random;};
virtual-forwarder "default-domain-vdns-2";
zone "1.1.21.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-1.1.1.21.in-addr.arpa.zone";
allow-update {127.0.0.1;};
};
zone "new.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-1.new.net.zone";
allow-update {127.0.0.1;};
};
};

view "default-domain-vdns-2" {
rrset-order {order random;};
forwarders {8.8.8.8; 10.84.5.100; 172.21.200.60; 172.29.131.60; };
zone "1.1.31.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.1.1.31.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "4.4.4.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.4.4.4.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "new.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.new.net.zone";
allow-update {127.0.0.1;};
forwarders { };
};
};

view "default-domain-vdns-ns-record" {
rrset-order {order random;};
forwarders {8.8.8.8; 10.84.5.100; 172.21.200.60; 172.29.131.60; };
zone "2.2.2.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.2.2.2.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "6.6.6.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.6.6.6.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "abc.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.abc.net.zone";
allow-update {127.0.0.1;};
forwarders { };
};
};

Change-Id: I3a573c771d09a247a0627fab3734af7f176f66ff
Closes-Bug:1547236
Closes-Bug:1542516

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/18494
Committed: http://github.org/Juniper/contrail-controller/commit/60ba27177ed5b6ed810c4f0bf969584ea240ecb9
Submitter: Zuul
Branch: R2.22.x

commit 60ba27177ed5b6ed810c4f0bf969584ea240ecb9
Author: Nipa Kumar <email address hidden>
Date: Mon Feb 22 16:28:59 2016 -0800

Default zones will have an empty forwarders {} list.

1) Add default zone config (A records) with empty forwarders list {}. This results
in contrail-named daemon delegating the subzone using NS records configured.
Adding forwarders list under zone ensure the rule applied for a zone.

Previously as the forwarders list was under view level, for any records
not in local-cache within the zone, resulted in queries being forwarded.

2) Add RR zones (PTR records) with an empty forwarders list. This will result in
DNS not trying to resolve the PTR records when RR is disabled.

3) When dns forwarder is configured, this will apply at view level and zone
level will not be empty anymore.

4) When dns forwarder is configures, zone level will be empty only if RR is
diabled for PTR records.

view "default-domain-vdns-1" {
rrset-order {order random;};
virtual-forwarder "default-domain-vdns-2";
zone "1.1.21.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-1.1.1.21.in-addr.arpa.zone";
allow-update {127.0.0.1;};
};
zone "new.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-1.new.net.zone";
allow-update {127.0.0.1;};
};
};

view "default-domain-vdns-2" {
rrset-order {order random;};
forwarders {8.8.8.8; 10.84.5.100; 172.21.200.60; 172.29.131.60; };
zone "1.1.31.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.1.1.31.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "4.4.4.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.4.4.4.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "new.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.new.net.zone";
allow-update {127.0.0.1;};
forwarders { };
};
};

view "default-domain-vdns-ns-record" {
rrset-order {order random;};
forwarders {8.8.8.8; 10.84.5.100; 172.21.200.60; 172.29.131.60; };
zone "2.2.2.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.2.2.2.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "6.6.6.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.6.6.6.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "abc.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.abc.net.zone";
allow-update {127.0.0.1;};
forwarders { };
};
};

Change-Id: I3a573c771d09a247a0627fab3734af7f176f66ff
Closes-Bug:1547236
Closes-Bug:1542516

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/18495
Committed: http://github.org/Juniper/contrail-controller/commit/a8d0e0384f9cae91046d53efbab7001c980610d7
Submitter: Zuul
Branch: R2.21.x

commit a8d0e0384f9cae91046d53efbab7001c980610d7
Author: Nipa Kumar <email address hidden>
Date: Mon Feb 22 16:28:59 2016 -0800

Default zones will have an empty forwarders {} list.

1) Add default zone config (A records) with empty forwarders list {}. This results
in contrail-named daemon delegating the subzone using NS records configured.
Adding forwarders list under zone ensure the rule applied for a zone.

Previously as the forwarders list was under view level, for any records
not in local-cache within the zone, resulted in queries being forwarded.

2) Add RR zones (PTR records) with an empty forwarders list. This will result in
DNS not trying to resolve the PTR records when RR is disabled.

3) When dns forwarder is configured, this will apply at view level and zone
level will not be empty anymore.

4) When dns forwarder is configures, zone level will be empty only if RR is
diabled for PTR records.

view "default-domain-vdns-1" {
rrset-order {order random;};
virtual-forwarder "default-domain-vdns-2";
zone "1.1.21.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-1.1.1.21.in-addr.arpa.zone";
allow-update {127.0.0.1;};
};
zone "new.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-1.new.net.zone";
allow-update {127.0.0.1;};
};
};

view "default-domain-vdns-2" {
rrset-order {order random;};
forwarders {8.8.8.8; 10.84.5.100; 172.21.200.60; 172.29.131.60; };
zone "1.1.31.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.1.1.31.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "4.4.4.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.4.4.4.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "new.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-2.new.net.zone";
allow-update {127.0.0.1;};
forwarders { };
};
};

view "default-domain-vdns-ns-record" {
rrset-order {order random;};
forwarders {8.8.8.8; 10.84.5.100; 172.21.200.60; 172.29.131.60; };
zone "2.2.2.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.2.2.2.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "6.6.6.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.6.6.6.in-addr.arpa.zone";
allow-update {127.0.0.1;};
forwarders { };
};
zone "abc.net" IN {
type master;
file "/etc/contrail/dns/default-domain-vdns-ns-record.abc.net.zone";
allow-update {127.0.0.1;};
forwarders { };
};
};

Change-Id: I3a573c771d09a247a0627fab3734af7f176f66ff
Closes-Bug:1547236
Closes-Bug:1542516

information type: Proprietary → Public
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.