def dcos_state(): client = mesos.DCOSClient() json_data = client.get_state_summary() if json_data: return json_data else: return None
def get_tasks(task_id='', completed=True): """ Get a list of tasks, optionally filtered by task id. The task_id can be the abbrevated. Example: If a task named 'sleep' is scaled to 3 in marathon, there will be be 3 tasks starting with 'sleep.' :param task_id: task ID :type task_id: str :param completed: include completed tasks? :type completed: bool :return: a list of tasks :rtype: [] """ client = mesos.DCOSClient() master = mesos.Master(client.get_master_state()) mesos_tasks = master.tasks(completed=completed, fltr=task_id) return [task.__dict__['_task'] for task in mesos_tasks]
def __get_all_agents(): """Provides all agent json in the cluster which can be used for filtering""" client = mesos.DCOSClient() agents = client.get_state_summary()['slaves'] return agents
def master_ip(): """Returns the public IP address of the DC/OS master. return: DC/OS IP address as a string """ return mesos.DCOSClient().metadata().get('PUBLIC_IPV4')