Ejemplo n.º 1
0
    def test_env_networks_configs(self):
        config = _sanitize_dhcp_config(
            generate_dhcp_config_networks(environments=[self.env2]), )
        self.assertEqual(
            config, """shared-network "net1.dc2" {
    subnet 10.20.1.0 netmask 255.255.255.0 {
        option routers 10.20.1.255;
        option domain-name "dc2";
        option domain-name-servers 10.20.30.3,10.20.30.4;
        deny unknown-clients;
    }
}""")
        config = _sanitize_dhcp_config(
            generate_dhcp_config_networks(
                environments=[self.env1, self.env2]), )
        self.assertEqual(
            config, """shared-network "net1.dc1" {
    subnet 127.0.0.0 netmask 255.255.255.0 {
        option routers 127.0.0.255;
        option domain-name "dc1";
        option domain-name-servers 10.20.30.1,10.20.30.2;
        deny unknown-clients;
    }
}

shared-network "net1.dc2" {
    subnet 10.20.1.0 netmask 255.255.255.0 {
        option routers 10.20.1.255;
        option domain-name "dc2";
        option domain-name-servers 10.20.30.3,10.20.30.4;
        deny unknown-clients;
    }
}""")
Ejemplo n.º 2
0
    def test_networks_configs(self):
        config = _sanitize_dhcp_config(generate_dhcp_config_networks(), )
        self.assertEqual(
            config, """shared-network "net1.dc1" {
    subnet 127.0.0.0 netmask 255.255.255.0 {
        option routers 127.0.0.255;
        option domain-name "dc1";
        option domain-name-servers 10.20.30.1,10.20.30.2;
        deny unknown-clients;
    }
}

shared-network "net1.dc2" {
    subnet 10.20.1.0 netmask 255.255.255.0 {
        option routers 10.20.1.255;
        option domain-name "dc2";
        option domain-name-servers 10.20.30.3,10.20.30.4;
        deny unknown-clients;
    }
}""")
        self.network1.dhcp_broadcast = False
        self.network1.save()
        self.network2.dhcp_config = 'SAMPLE ADDITIONAL CONFIG'
        self.network2.save()
        config = _sanitize_dhcp_config(generate_dhcp_config_networks(), )
        self.assertEqual(
            config, """shared-network "net1.dc2" {
    subnet 10.20.1.0 netmask 255.255.255.0 {
        option routers 10.20.1.255;
        option domain-name "dc2";
        option domain-name-servers 10.20.30.3,10.20.30.4;
        deny unknown-clients;
SAMPLE ADDITIONAL CONFIG
    }
}""")
Ejemplo n.º 3
0
def dhcp_config_networks(request):
    if not api.is_authenticated(request):
        return HttpResponseForbidden('API key required.')
    dc_names, env_names = _get_params(request)
    if dc_names and env_names:
        return HttpResponseForbidden('Only DC or ENV mode available.')
    data_centers = []
    for dc_name in dc_names:
        try:
            dc = DataCenter.objects.get(name__iexact=dc_name)
        except DataCenter.DoesNotExist:
            return HttpResponseNotFound(
                "Data Center `%s` does not exist." % dc_name
            )
        else:
            data_centers.append(dc)
    environments = []
    for env_name in env_names:
        try:
            env = Environment.objects.get(name__iexact=env_name)
        except Environment.DoesNotExist:
            return HttpResponseNotFound(
                "Environment `%s` does not exist." % env_name
            )
        else:
            environments.append(env)
    return HttpResponse(
        generate_dhcp_config_networks(
            data_centers=data_centers,
            environments=environments,
        ),
        content_type='text/plain',
    )
Ejemplo n.º 4
0
def dhcp_config_networks(request):
    if not api.is_authenticated(request):
        return HttpResponseForbidden('API key required.')
    dc_names, env_names = _get_params(request)
    if dc_names and env_names:
        return HttpResponseForbidden('Only DC or ENV mode available.')
    data_centers = []
    for dc_name in dc_names:
        try:
            dc = DataCenter.objects.get(name__iexact=dc_name)
        except DataCenter.DoesNotExist:
            return HttpResponseNotFound("Data Center `%s` does not exist." %
                                        dc_name)
        else:
            data_centers.append(dc)
    environments = []
    for env_name in env_names:
        try:
            env = Environment.objects.get(name__iexact=env_name)
        except Environment.DoesNotExist:
            return HttpResponseNotFound("Environment `%s` does not exist." %
                                        env_name)
        else:
            environments.append(env)
    return HttpResponse(
        generate_dhcp_config_networks(
            data_centers=data_centers,
            environments=environments,
        ),
        content_type='text/plain',
    )
Ejemplo n.º 5
0
    def test_networks_configs(self):
        config = _sanitize_dhcp_config(
            generate_dhcp_config_networks(),
        )
        self.assertEqual(
            config,
            """shared-network "net1.dc1" {
    subnet 127.0.0.0 netmask 255.255.255.0 {
        option routers 127.0.0.255;
        option domain-name "dc1";
        option domain-name-servers 10.20.30.1,10.20.30.2;
        deny unknown-clients;
    }
}

shared-network "net1.dc2" {
    subnet 10.20.1.0 netmask 255.255.255.0 {
        option routers 10.20.1.255;
        option domain-name "dc2";
        option domain-name-servers 10.20.30.3,10.20.30.4;
        deny unknown-clients;
    }
}"""
        )
        self.network1.dhcp_broadcast = False
        self.network1.save()
        self.network2.dhcp_config = 'SAMPLE ADDITIONAL CONFIG'
        self.network2.save()
        config = _sanitize_dhcp_config(
            generate_dhcp_config_networks(),
        )
        self.assertEqual(
            config,
            """shared-network "net1.dc2" {
    subnet 10.20.1.0 netmask 255.255.255.0 {
        option routers 10.20.1.255;
        option domain-name "dc2";
        option domain-name-servers 10.20.30.3,10.20.30.4;
        deny unknown-clients;
SAMPLE ADDITIONAL CONFIG
    }
}"""
        )
Ejemplo n.º 6
0
    def test_no_domain_networks_configs(self):
        self.env2.domain = None
        self.env2.save()
        config = _sanitize_dhcp_config(generate_dhcp_config_networks(), )
        self.assertEqual(
            config, """shared-network "net1.dc1" {
    subnet 127.0.0.0 netmask 255.255.255.0 {
        option routers 127.0.0.255;
        option domain-name "dc1";
        option domain-name-servers 10.20.30.1,10.20.30.2;
        deny unknown-clients;
    }
}""")
Ejemplo n.º 7
0
    def test_env_networks_configs(self):
        config = _sanitize_dhcp_config(
            generate_dhcp_config_networks(environments=[self.env2]),
        )
        self.assertEqual(
            config,
            """shared-network "net1.dc2" {
    subnet 10.20.1.0 netmask 255.255.255.0 {
        option routers 10.20.1.255;
        option domain-name "dc2";
        option domain-name-servers 10.20.30.3,10.20.30.4;
        deny unknown-clients;
    }
}"""
        )
        config = _sanitize_dhcp_config(
            generate_dhcp_config_networks(environments=[self.env1, self.env2]),
        )
        self.assertEqual(
            config,
            """shared-network "net1.dc1" {
    subnet 127.0.0.0 netmask 255.255.255.0 {
        option routers 127.0.0.255;
        option domain-name "dc1";
        option domain-name-servers 10.20.30.1,10.20.30.2;
        deny unknown-clients;
    }
}

shared-network "net1.dc2" {
    subnet 10.20.1.0 netmask 255.255.255.0 {
        option routers 10.20.1.255;
        option domain-name "dc2";
        option domain-name-servers 10.20.30.3,10.20.30.4;
        deny unknown-clients;
    }
}"""
        )
Ejemplo n.º 8
0
    def test_no_domain_networks_configs(self):
        self.env2.domain = None
        self.env2.save()
        config = _sanitize_dhcp_config(
            generate_dhcp_config_networks(),
        )
        self.assertEqual(
            config,
            """shared-network "net1.dc1" {
    subnet 127.0.0.0 netmask 255.255.255.0 {
        option routers 127.0.0.255;
        option domain-name "dc1";
        option domain-name-servers 10.20.30.1,10.20.30.2;
        deny unknown-clients;
    }
}"""
        )