API Consistency Cleanup

Registered by Ghanshyam Mann

Currently, there are lots of inconsistency and lose validation in APIs.
Those inconsistencies are because of v2 API compatibility.

Because of loose validation for request body and query param, APIs ignore
the unknown and invalid inputs silently. This gives the impressions to the user
that, requested unknown or invalid inputs are valid and taken care by Nova.
But Nova ignore all unknown or invalid inputs at API layer itself without
any warning to users.

server representation is not consistent among all APIs which return the
server info in the response body.
GET, PUT, REBUILD /servers APIs return the server representation (with all
server attributes). But PUT and REBUILD /servers response does not
match with GET /servers API.

These are 2 examples of API inconsistency and there might be more such example
which are described in https://etherpad.openstack.org/p/nova-api-cleanup

Blueprint information

Status:
Complete
Approver:
melanie witt
Priority:
Low
Drafter:
Ghanshyam Mann
Direction:
Approved
Assignee:
Ghanshyam Mann
Definition:
Approved
Series goal:
Accepted for train
Implementation:
Implemented
Milestone target:
milestone icon train-3
Started by
Matt Riedemann
Completed by
Matt Riedemann

Related branches

Sprints

Whiteboard

Approved for Train. -- mriedem 20190530

Gerrit topic: https://review.opendev.org/#/q/topic:bp/api-consistency-cleanup

Addressed by: https://review.opendev.org/666536
    Fix test_flavors to run with correct microversion

Addressed by: https://review.opendev.org/666889
    WIP: Multiple API cleanup changes

Addressed by: https://review.opendev.org/667600
    Add mising tests for flavor extra_specs mv 2.61

Addressed by: https://review.opendev.org/668281
    DRY get_flavor in flavor manage tests

Addressed by: https://review.opendev.org/677259
    doc: cleanup 2.75 REST API microversion history doc

Addressed by: https://review.opendev.org/677267
    api-ref: add config_drive to 2.75 rebuild response parameters

Addressed by: https://review.opendev.org/677324
    Update api-ref for 2.75 to add config_drive in server update response

Released with the 2.75 microversion. -- mriedem 20190820

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.