Ejemplo n.º 1
0
def test_master_info_endpoint_no_port():
    master = utils.MasterInfo('localhost')
    assert master.detector is None

    url = yield master.get_endpoint()
    assert url == 'http://localhost:5050'
    assert master.info == {'address': {'hostname': 'localhost', 'port': 5050}}
Ejemplo n.º 2
0
def test_master_info_endpoint():
    master = utils.MasterInfo('localhost:9091')
    assert master.detector is None

    url = yield master.get_endpoint()
    assert url == 'http://localhost:9091'
    assert master.info == {'address': {'hostname': 'localhost', 'port': 9091}}

    master.redirected_uri('localhost:9092')
    url = yield master.get_endpoint()
    assert url == 'http://localhost:9092'

    assert master.info == {'address': {'hostname': 'localhost', 'port': 9092}}
Ejemplo n.º 3
0
def test_master_info_zk():
    master = utils.MasterInfo('zk://localhost:2181')
    assert master.detector is not None

    url = yield master.get_endpoint()
    assert url is not None
    assert master.info is not None
    assert master.info['hostname'] == 'localhost'
    assert master.info['ip'] is not None
    assert master.info['port'] in (5050, 6060, 7070)

    with pytest.raises(exc.NoRedirectException):
        master.redirected_uri('localhost:9092')

    url_again = yield master.get_endpoint()

    assert url_again is not None
    assert url == url_again
    assert master.info is not None
    assert master.info['hostname'] == 'localhost'
    assert master.info['ip'] is not None
    assert master.info['port'] in (5050, 6060, 7070)

    if master.info['port'] == 5050:  # pragma: no cover
        active = 'mesos_master_0'
    elif master.info['port'] == 6060:  # pragma: no cover
        active = 'mesos_master_1'
    else:  # pragma: no cover
        active = 'mesos_master_2'

    old_info = master.info.copy()
    p = Popen(['docker-compose restart %s' % active],
              shell=True,
              stdout=PIPE,
              stderr=PIPE)
    p.wait()

    time.sleep(20)
    yield gen.sleep(5)

    url_again = yield master.get_endpoint()
    assert url_again is not None
    assert url != url_again
    assert master.info is not None
    assert master.info['hostname'] == 'localhost'
    assert master.info['ip'] is not None
    assert master.info['port'] in set([5050, 6060, 7070]) - set(
        [old_info['port']])
Ejemplo n.º 4
0
def test_master_info_zk():
    master = utils.MasterInfo("zk://localhost:2181")

    assert master.detector != None


    url = yield master.get_endpoint()
    assert url != None
    assert master.info !=None

    assert master.info["hostname"] == "localhost"

    assert master.info["ip"] != None

    assert master.info["port"] in (5050,6060,7070)

    with pytest.raises(exc.NoRedirectException):
        master.redirected_uri("localhost:9092")

    url_again = yield master.get_endpoint()

    assert url_again != None

    assert url == url_again

    assert master.info != None

    assert master.info["hostname"] == "localhost"

    assert master.info["ip"] != None

    assert master.info["port"] in (5050, 6060,7070)


    if master.info["port"] == 5050:# pragma: no cover
        active = "mesos_master_0"
    elif master.info["port"] == 6060:# pragma: no cover
        active = "mesos_master_1"
    else:# pragma: no cover
        active = "mesos_master_2"


    old_info = master.info.copy()
    p = Popen(["docker-compose restart %s"%active], shell=True,
          stdout=PIPE, stderr=PIPE)

    a = p.wait()

    time.sleep(20)
    yield gen.sleep(5)

    url_again = yield master.get_endpoint()

    assert url_again != None

    assert url != url_again

    assert master.info != None

    assert master.info["hostname"] == "localhost"

    assert master.info["ip"] != None

    assert master.info["port"] in set([5050, 6060,7070]) - set([old_info["port"]])