Difference between revisions of "Sahara/api-v2"
Akanksha08 (talk | contribs) (→Rename oozie_job_id) |
Akanksha08 (talk | contribs) (→Rename hadoop_version) |
||
Line 167: | Line 167: | ||
'''Requires Spec''': no | '''Requires Spec''': no | ||
− | '''Assignee''': | + | '''Assignee''': Akanksha Agrawal |
'''Status''': not started | '''Status''': not started |
Revision as of 17:51, 2 June 2016
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
Add microversion support
Description: The v2 endpoints should all respect microversion requests. These should follow the current best practices as described by the API working group and implemented by projects like Nova and Ironic. The current state of API-WG guidelines is in process, but these should be followed as they develop.
Estimated Load: large
Requires Spec: yes
Assignee:
Status: not started
Add version discovery
Description: The root version discovery mechanism should be upgraded to follow the API-WG guidelines on this process, alternatively the json-home draft should be investigated for usage here. The spec for this feature should address the current version page, the new version page, and the eventual deprecation of the v1.1 api.
Estimated Load: medium
Requires Spec: yes
Assignee:
Status: not started
Add an "actions" endpoint
Description: To help with asynchronous actions, and workflows which require greater introspection, an action style endpoint should be added. This endpoint may initially be limited to the cluster operations only, but as the feature is explored it may also encompass job style actions.
Estimated Load: large
Requires Spec: yes
Assignee:
Status: not started
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: Akanksha Agrawal
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: Akanksha Agrawal
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