dns.populate_zones

This model component builds the DNS graph zones for the experiment graph.

Attribute Depends:
  • topology

Model Component Dependencies:

Plugin

class dns.populate_zones_plugin.PopulateZones(graph, log)[source]

Bases: AbstractPlugin

This plugin builds the zone graphs needed for DNS. The plugin first walks the entire graph, building a graph of the zone data for the system, and installs that on the master dns server (usually named DNS). It then walks the graph to find each in-experiment node marked as a dns server and uses a similar process to add zone data for it. In each case, it puts the zone graphs on each dns server node of the Firewheel graph.

__annotations__ = {}
populate_zones(dns_server_name, hosts_tracked)[source]

Walk the graph building a dictionary which specifies the zones in the graph.

The many level dictionary allows the generation function to easily figure out the contents of potential A records and glue records.

Parameters:
  • dns_server_name (str) – The name of the DNS server

  • hosts_tracked (list) – The hosts that the DNS server is tracking

Returns:

The DNS zone dictionary.

Return type:

dict

run()[source]

Function to invoke the ConfigureDNS plugin.