MesosClient¶
MesosClient reference¶
- class
mesoshttp.client.
MesosClient
(mesos_urls, frameworkId=None, frameworkName='Mesos HTTP framework', frameworkUser='root', frameworkHostname='', frameworkWebUI='', max_reconnect=3)¶Entrypoint class to connect framework to Mesos master
Instance should be started in a separate thread as MesosClient.register will start a blocking loop with a long connection.
- class
SchedulerDriver
(mesos_url, frameworkId, streamId, requests_auth=None, verify=True)¶Handler to communicate with scheduler
MesosClient.SchedulerDriver instance is available after the SUBSCRIBED event with the subscribed event.
__init__
(mesos_url, frameworkId, streamId, requests_auth=None, verify=True)¶Create a driver instance related to created framework
kill
(agent_id, task_id)¶Kill specified task
Parameters:
- agent_id (str) – slave agent_id
- task_id (str) – task identifier
message
(agent_id, executor_id, message)¶Send message to an executor
Parameters:
- agent_id (str) – slave identifier
- executor_id (str) – executor identifier
- message (str) – message to send, raw bytes encoded as Base64
reconcile
(tasks)¶Reconcile tasks
Parameters: tasks (list) – list of dict { “agent_id”: xx, “task_id”: yy }
request
(requests)¶Send a REQUEST message
Parameters: requests (list) – list of resources request [{‘agent_id’: : XX, ‘resources’: {}}]
revive
()¶Send REVIVE request
shutdown
(agent_id, executor_id)¶Shutdown an executor
Parameters:
- agent_id (str) – slave identifier
- executor_id (str) – executor identifier
tearDown
()¶Undeclare framework
_MesosClient__zk_detect
(zk_url, prefix='/mesos')¶Try to get master url info from zookeeper
Parameters:
- zk_url (str) – ip/port to reach zookeeper
- prefix (str) – prefix to search for in zookeeper
__init__
(mesos_urls, frameworkId=None, frameworkName='Mesos HTTP framework', frameworkUser='root', frameworkHostname='', frameworkWebUI='', max_reconnect=3)¶Create a frameworkId
Parameters:
- mesos_urls (list) – list of mesos http endpoints
- frameworkId (str) – identifier of the framework, if None, will declare a new framework
- frameworkName (str) – name of the framework
- frameworkUser (str) – user to use (will run tasks as user), defaults to root
- frameworkHostname (str) – Hostname of the framework
- frameworkWebUI (str) – URL of the framework WebUI
- max_reconnect (int defaults to 3) – number of reconnection retries when connection fails
__weakref__
¶list of weak references to the object (if defined)
add_capability
(capability)¶Adds a framwork capability
Parameters: capability (str) – caapbility name
combine_offers
(offers, operations, options=None)¶Accept offers with task operations
Parameters:
- offers (list) – offers to be accepted
- operations (list of json TaskInfo) – JSON TaskInfo instances to accept
- options (JSON filters instances) – optional filters
This method does not check if the operations are valid JSON TaskInfo instances and if conform with the offers.
disconnect_framework
()¶Stops framework but does not teardown (unregister) the framework
This will enable framework reconnection and will not kill running jobs
get_driver
()¶Get driver instance to dialog with master
Returns: MesosClient.SchedulerDriver
get_master_info
()¶Get Mesos master information, return None if not connected
Returns: json formatted info about connected Mesos master
on
(eventName, callback)¶Register callback for an event.
Multiple callbacks can be registered for the same event
Parameters:
- eventName (str) – name fo the event to register to (MesosClient.SUBSCRIBED, etc.)
- callback (def) – function to call on event
register
()¶Register framework, return False if could not connect, else will open a permanent HTTP connection.
Creates an infinite loop on a permanent connection to Mesos master to receive messages. On message, callbacks will be called.
set_checkpoint
(do_checkpoint)¶Sets framework checkpoint value
Parameters: do_checkpoint (bool) – de/activate checkpoint in framework
set_credentials
(principal, secret)¶Set credentials to authenticate with Mesos master
Parameters:
- principal (str) – login to use
- secret (str) – password
set_failover_timeout
(timeout)¶Sets failover timeout value
Parameters: timeout (int) – define framework failover timeout, in seconds
set_role
(role_name)¶Set Mesos role to use by framework
Parameters: role_name (str) – Mesos role name
set_service_account
(service_secret, verify=False)¶Set credentials to authenticate with DCOS and Mesos Master
Parameters:
- service_secret (dict) – Optional DCOS Service account secret. Supersedes principal / secret.
- verify (bool) – validate HTTPS fronted Mesos API using CA root trusts, defaults to False
tearDown
()¶Unregister and stop scheduler