API: Implement V2.1 API on V3 API (partial)
This is a continuation of the blueprint v2-on-v3-api-juno blueprint. Implementing the V2.1 API (functionally equivalent to the V2 API except with strong input validation) using the V3 API framework.
Blueprint information
- Status:
- Complete
- Approver:
- John Garbutt
- Priority:
- High
- Drafter:
- Christopher Yeoh
- Direction:
- Approved
- Assignee:
- Christopher Yeoh
- Definition:
- Approved
- Series goal:
- Accepted for kilo
- Implementation:
- Implemented
- Milestone target:
- 2015.1.0
- Started by
- John Garbutt
- Completed by
- John Garbutt
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Porting SecurityGroup related controller into v2.1
Addressed by: https:/
Port SecurityGroupRules controller into v2.1
Addressed by: https:/
Porting assisted-
Addressed by: https:/
Port security-
Addressed by: https:/
Port fixed_ip extention to v2.1
Addressed by: https:/
Add decorator expected_errors for security_group extension
Addressed by: https:/
Port floating_ip_pools extention to v2.1
Addressed by: https:/
Port volume_attachments extension to v2.1 API
Addressed by: https:/
Port disk_config extension for V2.1
Addressed by: https:/
Fix wrong exception return in fixed_ips v2 extention
Addressed by: https:/
Port floating_ips_bulk extention to v2.1
Addressed by: https:/
Make v2.1 API tests use v2 URLs(test_[f-m].*)
Addressed by: https:/
Make v2.1 API tests use v2 URLs(test_[r-v].*)
Addressed by: https:/
Use 400 instead of 422 for security_groups v2 API
Addressed by: https:/
Refactor of test case of floating_ips
Addressed by: https:/
Port floating_ips extention to v2.1
Addressed by: https:/
Convert service v3 plugin to v2.1 API
Addressed by: https:/
Port floating_ip_dns extention to v2.1
Addressed by: https:/
Refactor test cases of test_floating_
Addressed by: https:/
Port os-networks plugin to v2.1(v3) infrastructure
Addressed by: https:/
Cleanup tenant networks plugin config creation
Addressed by: https:/
Port cloudpipe_update extension to v2.1
Addressed by: https:/
Port cloudpipe extension to v2.1
Addressed by: https:/
Porting baremetal_nodes extension to v2.1/v3
Addressed by: https:/
Port os-tenant-networks plugin to v2.1(v3) infrastructure
Addressed by: https:/
Port os-networks-
Addressed by: https:/
Port v2 quota_classes extension to work in v2.1(v3) framework
Gerrit topic: https:/
Addressed by: https:/
Use wsgi.response for v2.1 API
Addressed by: https:/
Add API schema for aggregates set_metadata API
Addressed by: https:/
Add API validation schema for floating_ip_dns
Addressed by: https:/
Change error code of floating_ip_dns api(v2.1)
Addressed by: https:/
Add API validation schema for cloudpipe api
Addressed by: https:/
Remove `domain` from floating-
Addressed by: https:/
Remove unuseful parameter in cloudpipe api(v2/v2.1)
Addressed by: https:/
Use wsgi.response for v2.1 unrescue API
Addressed by: https:/
Add api validation schema for image_metadata
Addressed by: https:/
Handle exception better in v2.1 attach_interface
Addressed by: https:/
Make v2.1 tests use wsgi_app_v21 and remove wsgi_app_v3
Gerrit topic: https:/
Addressed by: https:/
api: add serial console API calls v2.1/v3
Gerrit topic: https:/
Addressed by: https:/
Add API schema for v2.1 "resize a server" API
Addressed by: https:/
Add json-schema for v2.1 security-groups extension
Addressed by: https:/
Use 404 instead of 400 when security_group is non-existed
Addressed by: https:/
Remove LOG outputs from v2.1 API layer
Addressed by: https:/
Add API validation schema for disk_config
Addressed by: https:/
Add API json schema to volumes api(v2.1)
Addressed by: https:/
Fix the unittest use wrong controller for SecurityGroups V2
Addressed by: https:/
Cleanup in volumes api(v21)
Addressed by: https:/
Remove Nova v3 API endpoint
Addressed by: https:/
Add "x-compute-
Addressed by: https:/
Add integer types for JSON-Schema
Addressed by: https:/
Add API schema for server_groups API
Addressed by: https:/
Implement 'personality' plugin for V2.1
Addressed by: https:/
Add resource types for JSON-Schema validation
Addressed by: https:/
Add API schema for v2.1/v3 scheduler_hints extension
Addressed by: https:/
Add API schema for v2.1/v3 scheduler_hints extension
Addressed by: https:/
Limit tcp/udp port to be empty string in json-schema
Addressed by: https:/
Add json-schema for v2.1 security-
Addressed by: https:/
Share unit test case for server_
Addressed by: https:/
Add API json schema for server_
Addressed by: https:/
Add 'instance-
Addressed by: https:/
Fix the cell API with string rpc_port failed
Addressed by: https:/
Add API validation schema for services v2.1 plugin
Addressed by: https:/
Convert v3 console plugin to v2.1
Addressed by: https:/
Share console-auth-tokens tests between V2 & V2.1
Addressed by: https:/
Share migrations unit test between V2 & V2.1
Addressed by: https:/
Fix rule not found error in V2.1 sec grp default rule
Gerrit topic: https:/
Addressed by: https:/
Add API schema for v2.1 networks API
Addressed by: https:/
Share server_password unit test between V2 & V2.1
Addressed by: https:/
Sync server_
Addressed by: https:/
Sync server_
Addressed by: https:/
Clean the test cases for service plugins
Addressed by: https:/
Use a copy of NEW_NETWORK for test_networks
Addressed by: https:/
Share extended_volumes unit test between V2 & V2.1
Addressed by: https:/
Move pci unit test from V3 to V2.1
Addressed by: https:/
Replace HTTPRequestV3 with HTTPRequest for v2/v2.1 tests
Addressed by: https:/
Use HTTPRequestV3 instead of HTTPRequest for v2/v2.1 tests
Addressed by: https:/
Make user_data unit tests share between v2 and v2.1
Gerrit topic: https:/
Addressed by: https:/
Clean up in test_server_
Addressed by: https:/
Make multiple_create unit tests share between v2 and v2.1
Addressed by: https:/
Improve error return code of floating_ips in v2/v2.1 api
Addressed by: https:/
Add integrated test case and api sample for image_metadata(
Addressed by: https:/
Add delete not found unit testcase for floating_ip api
Addressed by: https:/
Add API validation schema for volume_attachments
Addressed by: https:/
Port virtual-interfaces plugin to v2.1(v3) API
Addressed by: https:/
Share server access ips tests between V2 & V2.1
Addressed by: https:/
[WIP]Use admin only common test case for admin action unit test cases
Addressed by: https:/
Fix v2.1 API os-simple-
Addressed by: https:/
Share lock_server unit test between V2 & V2.1
Addressed by: https:/
Share pause_server unit test between V2 & V2.1
Addressed by: https:/
Share suspend_server unit test between V2 & V2.1
Addressed by: https:/
Share CreateBackup unit test between V2 & V2.1
Addressed by: https:/
Share server_actions unit test between V2 & V2.1
Addressed by: https:/
Fix URL mapping of server metadata PUT request
Addressed by: https:/
Fix URL mapping of image metadata PUT request
Addressed by: https:/
Add a validation format "cidr"
Addressed by: https:/
Make a flavorRef validation strict
Addressed by: https:/
Share admin_password unit test between V2 & V2.1
Addressed by: https:/
Add more exceptions handle when change server password (v2)
Addressed by: https:/
Convert v3/v2.1 extension info to present v2 API format
Addressed by: https:/
Move admin_only_
Addressed by: https:/
Convert v2.1 extension_info to show V2 API extension list
Addressed by: https:/
Parse "networks" attribute if loading os-networks
Addressed by: https:/
Modify v21 alias name for compatible with v2
Addressed by: https:/
Add API schema for v2.1 block_device_
Addressed by: https:/
Merge migrate server tests between V2 & V2.1
Addressed by: https:/
Cleanup in test_admin_actions
Addressed by: https:/
Add API schema for v2.1 block_device_
Addressed by: https:/
Fix update server test for strong input validation
Addressed by: https:/
Make rebuild server schema 'additionalProp
Addressed by: https:/
Make resize server schema 'additionalProp
Addressed by: https:/
Cleanup in admin_actions(
Addressed by: https:/
Make create server schema 'additionalProp
Addressed by: https:/
Move test_extension_info from V3 dir to V2.1
Moving to kilo-2, as its not got all its changes merged yet. --johnthetubaguy 16th December 2014
Addressed by: https:/
Cleanup in ResourceExtension ALIAS(v2.1api)
Addressed by: https:/
Cleanup in ResourceExtension ALIAS(v2.1api)
Addressed by: https:/
Make direct call to controller in test_console_
Addressed by: https:/
Call controller methods directly in test_console_output
Addressed by: https:/
Make test_consoles to directly call controller methods
Addressed by: https:/
Cleanup in test_availabili
Addressed by: https:/
Call controller methods directly in test_evacuate
Addressed by: https:/
Cleanup in test_keypairs not to use wsgi_app
Addressed by: https:/
Use controller methods in test_floating_ips
Addressed by: https:/
Call controller methods directly in test_multinic
Addressed by: https:/
Use controller methods directly in test_rescue
Addressed by: https:/
Add API schema for v2.1/v3 server actions
Addressed by: https:/
Make direct call to controller test_server_
Addressed by: https:/
Tests with controller methods in test_simple_
Addressed by: https:/
Calling controller methods directly in test_snapshots
Addressed by: https:/
Add API schema for v2.1 createImage API
Addressed by: https:/
Add parameter_
Addressed by: https:/
Convert wsgi call to controller in test_virtual_
Addressed by: https:/
Use controller methods directly in test_admin_password
Addressed by: https:/
Re-calculate resource usage after suspending vm and resuming vm. Add RPC call resume_instance() in nova scheduler so that nova scheduler will be invoked before resuming instance on compute node. Related with bug 1402502: 'Resource usage will not be update
Addressed by: https:/
Remove unused function _get_flavor_refs in flavor_access extension
Addressed by: https:/
Add checking changePassword None in _action_
Addressed by: https:/
Make V2.1 servers filtering (--tenant-id) same as V2
Addressed by: https:/
Remove HTTPRequestV3 in scheduler_hints test
Addressed by: https:/
Make test re-use HTTPReuqest part 1
Addressed by: https:/
Make test re-use HTTPReuqest part 2
Addressed by: https:/
Make test re-use HTTPReuqest part 3
Addressed by: https:/
Make test re-use HTTPReuqest part 5
Addressed by: https:/
Make test re-use HTTPReuqest part 4
Addressed by: https:/
Use controller method in all admin actions tests
Addressed by: https:/
Add policy check for consoles
Addressed by: https:/
Merge evacuate extension tests in test_evacuate
Addressed by: https:/
Remove wsgi_app usage from test_server_actions
Addressed by: https:/
Make use of controller method in test_flavor_manage
Addressed by: https:/
WIP: Change v2.1 API status to CURRENT
Unsure on status, moving to kilo-3 for now --johnthetubaguy 26th Jan 2015
Addressed by: https:/
Add API schema for v2.1 'addFloatingIp'
Addressed by: https:/
Add API schema for v2.1 'removeFloatingIp'
Addressed by: https:/
Add JSON schema for "associate_host" API
Addressed by: https:/
Add JSON schema for v2.1 add network API
Addressed by: https:/
Fix expected error in V2.1 add network API
Addressed by: https:/
Add JSON schema for v2.1 'quota_class' API
Addressed by: https:/
Add missing setup.cfg entry for os-user-data plugin
Addressed by: https:/
Add more tests for tenant network API
Addressed by: https:/
Extract preserve ephemeral on rebuild from servers plugin
Addressed by: https:/
Remove v1.1 from v2.1 extension description
Addressed by: https:/
Add API schema for v2.1 tenant networks API
Addressed by: https:/
Change some v2.1 extension names to v2
Addressed by: https:/
Sync simple_tenant_usage V2.1 exception with V2
Addressed by: https:/
Implement api samples test for os-baremetal-nodes
Addressed by: https:/
Change functional tests to use V2.1 URL instead of V3
Addressed by: https:/
Remove V3 API from api-paste.ini
Addressed by: https:/
Implement api samples test for os-baremetal-nodes Part 2
Addressed by: https:/
Add test case for test_simple_
Addressed by: https:/
Fix NotImplementedError handling in interfaces API
Addressed by: https:/
Add developer documentation for writing V2.1 API plugins
Addressed by: https:/
Make ServerVirtualIn
Addressed by: https:/
Remove accessips attribute from V2.1 POST server resp
Gerrit topic: https:/
Addressed by: https:/
Remove 'id' from V2.1 update quota_set resp
Addressed by: https:/
Remove 'locked_by' from V2.1 extended server status
Addressed by: https:/
Remove OS-EXT-IPS attributes from V2.1 server ips
Gerrit topic: https:/
Addressed by: https:/
Disables pci plugin for v2.1 & microversions
Addressed by: https:/
Remove attach/detach/swap from V2.1 extended_volumes
Addressed by: https:/
Change v3 import to v21 in 2.1 api unit test
Addressed by: https:/
Remove extended addresses from V2.1 update & rebuild
Addressed by: https:/
Clean up Fake_Url for unit test of flavor_access
Since we have hit feature proposal freeze, marking this as ready to review. Please no more "new code" should be uploaded as we try to get the current items merged before feature freeze. While the tests can merge post freeze, lets try to complete the non-test code inside this blueprint to help with tracking. --johnthetubaguy 10th March 2015
Addressed by: https:/
Add and use raise_http_
Addressed by: https:/
Add a hacking rule for consistent HTTP501 message
Remaining work is docs and test clean up, so marking this as complete, for the sake of the feature bits in kilo. --johnthetubaguy 19th March 2015
Addressed by: https:/
Add the description about v2.1 API validation
Addressed by: https:/
Add min/max of API microversions to version API
Addressed by: https:/
Revert "Fix wrong exception return in fixed_ips v2 extention"