Jump to: navigation, search

Sahara/api-v2

< Sahara
Revision as of 13:25, 15 March 2016 by Mimccune (talk | contribs) (JSON Payload Changes: add confirm payload wrapping)

This page is currently being refactored to track the API conversion efforts for sahara.

The specification describing the high level changes to the API can be found at http://specs.openstack.org/openstack/sahara-specs/specs/backlog/api-v2-experimental-impl.html

The process describing the general workflow process for implementing the new API can be found within the etherpad for the Mitaka design summit.

Work Items

The following sub-sections will contain itemized lists of the individual changes to be done for the experimental phases of the API conversion process.

Each item should contain the following entries:

  • Name
  • Description of work
  • Estimated Load
  • Requires Spec
  • Assignee
  • Status

Most of these entries are self explanatory, the "Estimated Load" entry should be one of "small", "medium", or "large", this should describe the estimated size of the task where small is less than 1 day work, medium may be less than 5 days work, and large is greater than 5 days. These are not meant to be hard deadlines, but general estimates of the complexity for any given task.

The "Status" entry should be one of; "not started", "started", or a link to the review(s) for the task.

Foundation

initial v2 commit

Description: this patch will create the initial "/v2" endpoint structure. it will migrate all the current endpoints into the new URIs. this change will also remove the project ID from the URI and add it to an OpenStack-Project-ID header.

Estimated Load: medium

Assignee: elmiko (Michael McCune)

Status: https://review.openstack.org/#/c/273316/

New Features

Endpoint Updates

Update registry images tagging

Description: The /images/.../tag and /images/.../untag endpoints should be refactored to conform with API working group guidelines for metadata described at http://specs.openstack.org/openstack/api-wg/guidelines/metadata.html

Estimated Load: medium

Requires Spec: no

Assignee:

Status: not started

Rename job execution and templates endpoints

Description: The .../jobs endpoint should be renamed to .../job-templates, and then the .../job-executions endpoint should be renamed to .../jobs

Estimated Load: small

Requires Spec: no

Assignee: Pratik Gadiya

Status: not started

Refactor start job process

Description: executing a job template through the /jobs/{job_id}/execute endpoint should be changed to a POST operation on the new /jobs endpoint.

Estimated Load: medium

Requires Spec: no

Assignee: Pratik Gadiya

Status: not started

Refactor cancel job process

Description: cancelling a job execution through the /job-executions/{job_execution_id}/cancel endpoint should be removed in favor of requesting a cancelled state on a PATCH to the new /jobs/{job_id} endpoint.

Estimated Load: medium

Requires Spec: no

Assignee: Poornima Kshirsagar

Status: not started

Remove job-binary-internal endpoint

Description: /job-binary-internals should be removed in favor of /job-binaries as the latter accepts internal database referenced items, an endpoint under /job-binaries can be created for uploading files(if required).

Estimated Load: large (if replacement is required)

Requires Spec: yes

Assignee:

Status: not started

Refactor refresh-status for jobs

Description: /job-executions/{job_execution_id}/refresh-status should be removed in favor of using a GET on the new /jobs/{job_id} endpoint for running job executions.

Estimated Load: medium

Requires Spec: no

Assignee:

Status: not started

Convert update methods to use PATCH

Description: all update operations should synchronize around using PATCH instead of PUT for partial resource updates.

Estimated Load: large

Requires Spec: yes

Assignee:

Status: not started

JSON Payload Changes

Rename hadoop_version

Description: hadoop_version should be changed to plugin_version

Estimated Load: small

Requires Spec: no

Assignee:

Status: not started

Rename oozie_job_id

Description: oozie_job_id should be changed to engine_job_id

Estimated Load: small

Requires Spec: no

Assignee:

Status: not started

Confirm payload wrapping

Description: all returned payloads should be wrapped in their type, this is currently true for the API and should remain so for consistency.

Estimated Load: medium

Requires Spec: no

Assignee:

Status: not started