Hi,
I was going through the Aurora Thrift API to determine how to add new jobs.
I am using aurora v0.12 released last month and have upgraded to mesos
v0.25 accordingly.

Below is a summary of my (very limited) understanding of some APIs, & would
help it if someone can point out flaws in my understanding:

   1. All APIs require thrift inputs of the structs specified, and return
   thrift values only in Response.result field.

   2. Is there a set of examples in the documentation to help understand
   Thrift API better?

   3. createJob(JobDescription desc, Lock lock):
   This is basically the API to replace the Aurora DSL/.aurora files for
   job configuration.

   4. What is the Lock object? I see that some APIs require locking and
   some don't. For example, createJob needs a Lock object as parameter, & I am
   assuming that it is required so that one does not create multiple jobs with
   the same JobKey.

   5. addInstances(AddInstancesConfig cfg, Lock lock):
   By the naming convention, it seems this is used to increase the number
   of instances of a job. It will not result in stopping of current instances
   of the job.

   My second explanation for this API: Since it uses a set of instanceIds,
   this is used for adding already running job in slaves to the internal data
   structures of Aurora to track the job.

   6. getPendingResult(TaskQuery taskquery):
   Return the reason (in string) about why the job is PENDING. For example:
   insufficient CPU.

   7. setQuota & getQuota for setting user level quotas.

   8. killTasks to kill all running instances of a job in the cluster.

   9. startJobUpdate(JobUpdateRequest request, string message):
   Used for updating jobs with the new TaskConfig specified. Can be used if
   resource requirement changes. For example: If I wanted aurora to update the
   version of container used for a job using TaskConfig.Container attribute.


An aurora scheduling question is if I start a job with 5 instances, and
there are resources available to run only 4 of them, does the entire job
block, or only the 5th instance of the job blocks?

Thanks!

--
κρισhναν

Reply via email to