Currently Cloud VPS DNS recursors use simple reserved VIPs (one extra VIP per cloudservices* box) from the row-specific public1 subnets. This has some downsides:
- Requiring that cloudservices* hosts have public addresses in a specific physical DC row
- No failover when rebooting hosts
- This point is especially problematic since surprisingly{{cn}} many DNS implementations will misbehave when the first listed recursor is down
This task is here to investigate if we can replace the current system with something (LVS, Anycast, ...) that addresses those problems. Note that the same hosts also host the auth dns for WMCS domains using their primary (public) IP addresses.
see also: T207533: Move labs-recursors in WMCS T119660: Set up LVS for labs dns recursors
Current work is to implement this layout:
cloudservices2004-dev
Interface IPs, same as every other cloud host:
Interface | IP | Vlan | Domain |
eno1 | 10.192.20.26/24 | cloud-hosts1-codfw | cloudservices2004-dev.codfw.wmnet |
vlan2151@eno1 | 172.20.5.8/24 | cloud-private-b1-codfw | cloudservices2004-dev.private.codfw.wikimedia.cloud |
BGP IPs announced to 172.20.5.1 over vlan2151:
IP | DNS | Description |
---|---|---|
185.15.57.25 | ns0.openstack.codfw1dev.wikimediacloud.org | pdns_server listens on this, pdns_recursor uses it for outbound queries |
172.20.254.1 | ns-recursor.openstack.codfw1dev.wikimediacloud.org | pdns_recursor listens on this for client queries |
cloudservices2005-dev
Interface IPs, same as every other cloud host:
Interface | IP | Vlan | Domain |
eno1 | 10.192.20.27/24 | cloud-hosts1-codfw | cloudservices2005-dev.codfw.wmnet |
vlan2151@eno1 | 172.20.5.9/24 | cloud-private-b1-codfw | cloudservices2005-dev.private.codfw.wikimedia.cloud |
BGP IPs announced to 172.20.5.1 over vlan2151:
IP | DNS | Description |
---|---|---|
185.15.57.26 | ns1.openstack.codfw1dev.wikimediacloud.org | pdns_server listens on this, pdns_recursor uses it for outbound queries |
172.20.254.1 | ns-recursor.openstack.codfw1dev.wikimediacloud.org | pdns_recursor listens on this for client queries |