예제 #1
0
def test_cluster():
    message = message_factory.create("ClusterCreateVMReq")

    # server_stack
    algo_server = Algorithm(HOST, PORT + 3000)
    node_server = Node(HOST, PORT + 2000)
    rack_server = Rack(HOST, PORT + 1000)
    cluster_server = Cluster(HOST, PORT)

    # algo setting
    algo_server.node_addr = node_server.addr()
    algo_server.rack_addr = rack_server.addr()

    # cluster setting
    cluster_server.algorithm_addr = algo_server.addr()
    holder = {'createVMResHandler_get_called': False}

    def f(self, message):
        holder['createVMResHandler_get_called'] = True

    cluster_server.createVMResHandler = f

    # rack setting
    rack_server.algorithm_addr = algo_server.addr()

    server_stack = [algo_server, node_server, rack_server, cluster_server]

    for server in server_stack:
        def server_thread():
            server.run()

        t = threading.Thread(target = server_thread)
        t.start()

    # client
    try:
        sleep(3)
        client.sendonly_message((HOST, PORT), message)

        counter = 0
        while counter < 10 and holder['createVMResHandler_get_called'] == False:
            sleep(1)
            counter += 1
    except:
        print 'something wrong'
    finally:
        for server in reversed(server_stack):
            server.shutdown()

    assert holder['createVMResHandler_get_called'] == True
예제 #2
0
def test_coordinator():
    # server_stack
    algo_server = Algorithm(HOST, PORT + 4)
    node_server = Node(HOST, PORT + 3)
    rack_server = Rack(HOST, PORT + 2)
    cluster_server = Cluster(HOST, PORT + 1)
    coordinator_server = Coordinator(HOST, PORT)

    # algo setting
    algo_server.node_addr = node_server.addr()
    algo_server.rack_addr = rack_server.addr()
    algo_server.cluster_addr = cluster_server.addr()

    rack_server.algorithm_addr = algo_server.addr()
    cluster_server.algorithm_addr = algo_server.addr()
    coordinator_server.algorithm_addr = algo_server.addr()

    # setup function for assert
    # holder = {'createVMResHandler_get_called': False}
    # def f(self, message):
    #     holder['createVMResHandler_get_called'] = True
    # coordinator_server.createVMResHandler = f

    # start servers
    server_stack = [
        algo_server, node_server, rack_server, cluster_server,
        coordinator_server
    ]
    server_manager.start_server_stack(server_stack)

    try:
        sleep(10)
        # vm = VM("vmid", "groupid", "vmsubid", "vmtype",
        #         "config_cpu", "config_memory", "config_disk", "config_lifetime",
        #         "ownerid")
        # coordinator_server.create_vm(vm)

        counter = 0
        while counter < 10:  # and holder['createVMResHandler_get_called'] == False:
            sleep(1)
            counter += 1
    except Exception as e:
        print e

    finally:
        server_manager.shutdown_server_stack(server_stack)
예제 #3
0
def test_coordinator():
    # server_stack
    algo_server = Algorithm(HOST, PORT + 4)
    node_server = Node(HOST, PORT + 3)
    rack_server = Rack(HOST, PORT + 2)
    cluster_server = Cluster(HOST, PORT + 1)
    coordinator_server = Coordinator(HOST, PORT)

    # algo setting
    algo_server.node_addr = node_server.addr()
    algo_server.rack_addr = rack_server.addr()
    algo_server.cluster_addr = cluster_server.addr()

    rack_server.algorithm_addr = algo_server.addr()
    cluster_server.algorithm_addr = algo_server.addr()
    coordinator_server.algorithm_addr = algo_server.addr()

    # setup function for assert
    # holder = {'createVMResHandler_get_called': False}
    # def f(self, message):
    #     holder['createVMResHandler_get_called'] = True
    # coordinator_server.createVMResHandler = f

    # start servers
    server_stack = [algo_server, node_server, rack_server, cluster_server, coordinator_server]
    server_manager.start_server_stack(server_stack)

    try:
        sleep(10)
        # vm = VM("vmid", "groupid", "vmsubid", "vmtype", 
        #         "config_cpu", "config_memory", "config_disk", "config_lifetime", 
        #         "ownerid")
        # coordinator_server.create_vm(vm)

        counter = 0
        while counter < 10: # and holder['createVMResHandler_get_called'] == False:
            sleep(1)
            counter += 1
    except Exception as e:
        print e

    finally:
        server_manager.shutdown_server_stack(server_stack)