Exemple #1
0
def smartstack_dependencies_of_running_firewalled_services(
        soa_dir=DEFAULT_SOA_DIR):
    dependencies_to_services = defaultdict(set)
    for service, instance, _, _ in firewall.services_running_here():
        config = get_instance_config(
            service,
            instance,
            load_system_paasta_config().get_cluster(),
            load_deployments=False,
            soa_dir=soa_dir,
        )
        outbound_firewall = config.get_outbound_firewall()
        if not outbound_firewall:
            continue

        dependencies = config.get_dependencies() or ()

        smartstack_dependencies = [
            d['smartstack'] for d in dependencies if d.get('smartstack')
        ]
        for smartstack_dependency in smartstack_dependencies:
            # TODO: filter down to only services that have no proxy_port
            dependencies_to_services[smartstack_dependency].add(
                firewall.ServiceGroup(service, instance))

    return dependencies_to_services
Exemple #2
0
def test_services_running_here():
    assert tuple(firewall.services_running_here()) == (
        ('myservice', 'hassecurity', '02:42:a9:fe:00:0a', '1.1.1.1'),
        ('myservice', 'chronoswithsecurity', '02:42:a9:fe:00:0b', '2.2.2.2'),
    )
Exemple #3
0
def test_services_running_here():
    assert tuple(firewall.services_running_here()) == (
        ("myservice", "hassecurity", "02:42:a9:fe:00:0a", "1.1.1.1"),
        ("myservice", "hassecurity2", "02:42:a9:fe:00:0b", "2.2.2.2"),
    )
Exemple #4
0
def lookup_service_instance_by_ip(ip_lookup):
    for service, instance, mac, ip in services_running_here():
        if ip == ip_lookup:
            return (service, instance)
    log.info(f'Unable to find container for ip {ip_lookup}')
    return (None, None)