コード例 #1
0
    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": [],
                },
            }))
コード例 #2
0
 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({}))
コード例 #3
0
 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),
         },
     }))
コード例 #4
0
 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({}))