def test_dedicated_portmap(): base_job = Job(name='hello_world', role='john_doe', cluster='test-cluster', task=Task(name='main', processes=[], resources=Resources(cpu=0.1, ram=64 * MB, disk=64 * MB))) config._validate_announce_configuration(AuroraConfig(base_job)) config._validate_announce_configuration( AuroraConfig(base_job(constraints={'dedicated': 'mesos-team'}))) config._validate_announce_configuration( AuroraConfig( base_job(constraints={'dedicated': 'mesos-team'}, announce=Announcer(portmap={'http': 80})))) with pytest.raises(ValueError): config._validate_announce_configuration( AuroraConfig(base_job(announce=Announcer(portmap={'http': 80})))) with pytest.raises(ValueError): config._validate_announce_configuration( AuroraConfig( base_job(announce=Announcer(portmap={'http': 80}), constraints={'foo': 'bar'})))
def test_ports(): announce = Announcer(portmap={'http': 80}) assert make_config(announce).ports() == set() assert make_config(announce, 'http').ports() == set() assert make_config(announce, 'http', 'thrift').ports() == set(['thrift']) announce = Announcer(portmap={'http': 'aurora'}) assert make_config(announce).ports() == set(['aurora']) assert make_config(announce, 'http').ports() == set(['aurora']) assert make_config(announce, 'http', 'thrift').ports() == set(['thrift', 'aurora']) announce = Announcer(portmap={'aurora': 'http'}) assert make_config(announce).ports() == set(['http']) assert make_config(announce, 'http').ports() == set(['http']) assert make_config(announce, 'http', 'thrift').ports() == set(['http', 'thrift']) assert make_config(Empty).ports() == set() assert make_config(Empty, 'http').ports() == set(['http']) assert make_config(Empty, 'http', 'thrift').ports() == set(['http', 'thrift'])
def make_job(role, environment, name, primary_port, portmap): from apache.aurora.config.schema.base import ( Announcer, Job, Process, Resources, Task, ) task = Task(name='ignore2', processes=[Process(name='ignore3', cmdline='ignore4')], resources=Resources(cpu=1, ram=1, disk=1)) job = Job(role=role, environment=environment, name=name, cluster='ignore1', task=task, announce=Announcer(primary_port=primary_port, portmap=portmap)) return job
def test_static_port_aliasing(): announce = Announcer(primary_port='thrift', portmap={ 'thrift': 8081, 'health': 8300, 'aurora': 'health' }) assert make_config(announce).ports() == set() assert make_config(announce).job().taskConfig.requestedPorts == set() assert make_config(announce, 'thrift').ports() == set() assert make_config(announce, 'thrift').job().taskConfig.requestedPorts == set() assert make_config(announce, 'thrift', 'health').ports() == set() assert make_config(announce, 'thrift', 'health').job().taskConfig.requestedPorts == set() assert make_config(announce, 'derp').ports() == set(['derp']) assert make_config(announce, 'derp').job().taskConfig.requestedPorts == set(['derp'])
def test_static_port_aliasing(): announce = Announcer(primary_port='thrift', portmap={ 'thrift': 8081, 'health': 8300, 'aurora': 'health' }) config = make_config(announce) assert config.ports() == set() for resource in list(config.job().taskConfig.resources): assert resource.namedPort is None config = make_config(announce, 'thrift') assert config.ports() == set() for resource in list(config.job().taskConfig.resources): assert resource.namedPort is None config = make_config(announce, 'thrift', 'health') assert config.ports() == set() for resource in list(config.job().taskConfig.resources): assert resource.namedPort is None config = make_config(announce, 'derp') assert config.ports() == set(['derp']) assert Resource(namedPort='derp') in list( config.job().taskConfig.resources)