Example #1
0
    def __init__(self, executor):
        self.executor = executor
        self.slaves = {}

        self.master_host = util.start_lava(is_master=True)
        ui.web.serve()
        _, self.master_ip = util.get_ip()
Example #2
0
    def __init__(self, executor):
        self.executor = executor
        self.slaves = {}

        self.master_host = util.start_lava(is_master=True)
        ui.web.serve()
        _, self.master_ip = util.get_ip()
Example #3
0
        def run_task():
            """
            Run a Apache Mesos Task.
            """
            # start openlava services
            tmp = json.loads(task.data)
            master_hostname = tmp['master_hostname']
            master_ip = tmp['master_ip']
            agent_hostname = tmp['agent_hostname']
            agent_ip = tmp['agent_ip']

            # configure the master.
            util.add_to_hosts(master_hostname, master_ip)
            util.add_to_cluster_conf(master_hostname)

            # tell master we are ready to fire up.
            update = mesos_pb2.TaskStatus()
            update.task_id.value = task.task_id.value
            update.state = mesos_pb2.TASK_RUNNING
            update.data = str(agent_hostname) + ':' + str(agent_ip)
            driver.sendStatusUpdate(update)

            util.start_lava()

            # in case I'm idle for a while done.
            busy = True
            count = 0
            while busy:
                time.sleep(10)

                try:
                    if util.njobs_per_host(agent_hostname.strip()) == 0:
                        count += 1
                except:
                    # lim not ready...
                    pass

                if count >= 12:
                    busy = False
                    # tell master we are done here.
                    update = mesos_pb2.TaskStatus()
                    update.task_id.value = task.task_id.value
                    update.state = mesos_pb2.TASK_FINISHED
                    update.data = str(agent_hostname) + ':' + str(agent_ip)
                    driver.sendStatusUpdate(update)
                    util.stop_lava()
Example #4
0
        def run_task():
            """
            Run a Apache Mesos Task.
            """
            # start openlava services
            tmp = json.loads(task.data)
            master_hostname = tmp['master_hostname']
            master_ip = tmp['master_ip']
            agent_hostname = tmp['agent_hostname']
            agent_ip = tmp['agent_ip']

            # configure the master.
            util.add_to_hosts(master_hostname, master_ip)
            util.add_to_cluster_conf(master_hostname)

            # tell master we are ready to fire up.
            update = mesos_pb2.TaskStatus()
            update.task_id.value = task.task_id.value
            update.state = mesos_pb2.TASK_RUNNING
            update.data = str(agent_hostname) + ':' + str(agent_ip)
            driver.sendStatusUpdate(update)

            util.start_lava()

            # in case I'm idle for a while done.
            busy = True
            count = 0
            while busy:
                time.sleep(10)

                try:
                    if util.njobs_per_host(agent_hostname.strip()) == 0:
                        count += 1
                except:
                    # lim not ready...
                    pass

                if count >= 12:
                    busy = False
                    # tell master we are done here.
                    update = mesos_pb2.TaskStatus()
                    update.task_id.value = task.task_id.value
                    update.state = mesos_pb2.TASK_FINISHED
                    update.data = str(agent_hostname) + ':' + str(agent_ip)
                    driver.sendStatusUpdate(update)
                    util.stop_lava()
Example #5
0
    def __init__(self, executor):
        self.executor = executor
        self.accepted_tasks = {}
        self.running_tasks = {}

        self.master_host = util.start_lava(is_master=True)
        ui.web.serve()
        self.master_ip = util.get_ip(self.master_host)
Example #6
0
    def __init__(self, executor):
        self.executor = executor
        self.accepted_tasks = {}
        self.running_tasks = {}

        self.master_host = util.start_lava(is_master=True)
        ui.web.serve()
        self.master_ip = util.get_ip(self.master_host)
Example #7
0
        def run_task():
            """
            Run a Apache Mesos Task.
            """
            # start openlava services
            tmp = json.loads(task.data)
            host = tmp['master_host']
            ip_addr = tmp['master_ip']
            util.add_to_hosts(host, ip_addr)
            util.add_to_cluster_conf(host)

            slave_host, slave_ip = util.get_ip()

            update = mesos_pb2.TaskStatus()
            update.task_id.value = task.task_id.value
            update.state = mesos_pb2.TASK_RUNNING
            update.data = slave_host + ':' + slave_ip
            driver.sendStatusUpdate(update)

            util.start_lava()

            # in case I'm idle for a while done.
            busy = True
            count = 0
            while busy:
                time.sleep(10)

                try:
                    if util.njobs_per_host(slave_host.strip()) == 0:
                        count += 1
                except:
                    # lim not ready...
                    pass

                if count >= 12:
                    busy = False
                    update = mesos_pb2.TaskStatus()
                    update.task_id.value = task.task_id.value
                    update.state = mesos_pb2.TASK_FINISHED
                    update.data = slave_host + ':' + slave_ip
                    driver.sendStatusUpdate(update)
                    util.stop_lava()