def test_yields_boot_cluster_address_when_machine_has_booted(self): Config.objects.set_config("ntp_external_only", False) machine = factory.make_Machine() address = factory.make_StaticIPAddress( interface=factory.make_Interface(node=machine)) rack_primary = factory.make_RackController(subnet=address.subnet) rack_primary_address = factory.make_StaticIPAddress( interface=factory.make_Interface(node=rack_primary), subnet=address.subnet) rack_secondary = factory.make_RackController(subnet=address.subnet) rack_secondary_address = factory.make_StaticIPAddress( interface=factory.make_Interface(node=rack_secondary), subnet=address.subnet) vlan = address.subnet.vlan vlan.primary_rack = rack_primary vlan.secondary_rack = rack_secondary vlan.dhcp_on = True vlan.save() configuration = generate_ntp_configuration(machine) self.assertThat( dict(configuration), Equals({ "ntp": { "servers": sorted( (rack_primary_address.ip, rack_secondary_address.ip), key=IPAddress), "pools": [], }, }))
def test_yields_nothing_when_machine_has_no_boot_cluster_address(self): Config.objects.set_config("ntp_external_only", False) machine = factory.make_Machine() machine.boot_cluster_ip = None machine.save() configuration = generate_ntp_configuration(machine) self.assertThat(dict(configuration), Equals({}))
def test_external_only_yields_all_ntp_servers_when_defined(self): Config.objects.set_config("ntp_external_only", True) ntp_hosts = factory.make_hostname(), factory.make_hostname() ntp_addrs = factory.make_ipv4_address(), factory.make_ipv6_address() ntp_servers = ntp_hosts + ntp_addrs Config.objects.set_config("ntp_servers", " ".join(ntp_servers)) configuration = generate_ntp_configuration(node=factory.make_Node()) self.assertThat(dict(configuration), Equals({ "ntp": { "servers": sorted(ntp_addrs, key=IPAddress), "pools": sorted(ntp_hosts), }, }))
def test_external_only_yields_nothing_when_no_ntp_servers_defined(self): Config.objects.set_config("ntp_external_only", True) Config.objects.set_config("ntp_servers", "") configuration = generate_ntp_configuration(node=factory.make_Node()) self.assertThat(dict(configuration), Equals({}))