You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org

DNS/Netbox

From Wikitech-static
< DNS
Revision as of 11:00, 15 April 2020 by imported>Volans (→‎Transition: Add reference to the Netbox script)
Jump to navigation Jump to search

Part of the DNS records are or will soon be automatically generated from data that resides in Netbox.

Infrastructure

  • Netbox data is exported via Netbox#DNS.
  • Netbox data is checked out on the authoritative DNS servers in /srv/git/netbox_dns_snippets.
  • When compiling the gdnsd final zones, the Netbox data is copied into /etc/gdnsd/zones/netbox for later inclusion.
  • In the actual zonefiles, within an $ORIGIN, the related snippet file is included using the $INCLUDE directive.

DNS records involved

  • Management forward (A) and reverse (PTR) records for both the hostname (foo.mgmt.eqiad.wmnet) and the asset tag (wmf1234.mgmt.eqiad.wmnet)
  • Primary IPv4 (A) and IPv6 (AAAA) and related reverse (PTR) records for the hostname (foo.eqiad.wmnet or foo.wikimedia.org)

Active

  • NONE

To be migrated

  • Management in ulsfo
  • Management in eqsin
  • Management in esams
  • Management frack in codfw
  • Management frack in eqiad
  • Management in codfw
  • Management in eqiad
  • Primary IPv4/6 in ulsfo
  • Primary IPv4/6 in eqsin
  • Primary IPv4/6 in esams
  • Primary frack IPv4/6 in codfw
  • Primary frack IPv4/6 in eqiad
  • Primary IPv4/6 in codfw
  • Primary IPv4/6 in eqiad

Operations

Update generated records

To update the dynamically generated records based on the current Netbox data and deploy them to all the authoritative DNS servers, the sre.dns.netbox cookbook must be run. See also Cookbooks#Cookbook_Operations. For example:

 sudo cookbook sre.dns.netbox -t T12345 "Add newly racked cp hosts in eqiad"

Convert an hardcoded $ORIGIN to Netbox

This is an example patch to convert an hardcoded $ORIGIN to the dynamically generated data.

Transition

The records involved in the transition from hardcoded records to the Netbox driven ones and the order of the transition is listed above, see the To be migrated section.

Here's an example patch of the transition of management records for ulsfo.

What changes

Once we start the transition all new management records must be created using the Create Management Interface Netbox script.

It can be reached from Netbox menu Other -> Scripts.

Fill the required parameters and run it. To test it, it can also be run in dry-run mode.

A similar one will be provided before we start transitioning any primary IP record.


Once a category of records has been migrated those are the differences from the previous system:

  • No more changes to the operations/dns git repository are needed
  • Update Netbox data
  • Run the sre.dns.netbox cookbook, see above the Update generated records section