Story #1206

Updated by almost 8 years ago

- Documentation on using the Group Task Status 
 - Add pulp/api/v2/task_groups/<group_id>/state_summary /pulp/api/v2/group-tasks/<group_id> in 
 - Add a view to handle the new endpoint 
 - The view should check the database for the status of all tasks that have the specific group_id and return a status based on that information. 
 - The view should return JSON structure that looks like: 

  "_href": "/pulp/api/v2/task_groups/0fe4fcab-a040-11e1-a71c-00508d977dff/state_summary", "/pulp/api/v2/group-tasks/0fe4fcab-a040-11e1-a71c-00508d977dff/", 
  "finished": 4, "state": "running", # depends on whether or not all tasks finished running 
  "canceled": 0, "group_id": "0fe4fcab-a040-11e1-a71c-00508d977dff", 
  "error": 1, "task_type": "pulp.server.tasks.repository.applicability", 
  "running": 3, "progress_report": {}, # contents depend on the operation 
  "waiting": 0, "result": null, 
  "group_id": "0fe4fcab-a040-11e1-a71c-00508d977dff", "start_time": "2012-05-17T16:48:00Z", 
  "finish_time": null, 
  "exception": null, 
  "traceback": null, 
  "tags": [ 
  "child_tasks": [{"href": 
                     "task_id": "7744e2df-39b9-46f0-bb10-feffa2f7014b" }], 
  "error": null 

 Note that the list of tasks are called child_tasks, unlike spawned_tasks. This 
 is to distinguish between tasks that should be monitored by katello (spawned) versus 
 tasks that are not to be monitored by katello (child).