Compute/API returns objects
An important step in the conversion to unified-
Implementation of this blueprint will be complete when compute/api.py::API is using objects instead of db query models, and is returning those objects (when the caller wants them) through its public APIs.
Blueprint information
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Make EC2 API request objects instead of converting them.
Addressed by: https:/
Add Instance.
Addressed by: https:/
Make compute_api.get() use objects natively
Addressed by: https:/
Make instance show and index use objects
Addressed by: https:/
Make servers::update() use Instance.save() to do the work
Addressed by: https:/
Make Instance.save() pass IPs as strings to DB API
Addressed by: https:/
Update v3 servers API with objects changes
Gerrit topic: https:/
Addressed by: https:/
Refactor virt drivers' poll_rebooting_
Addressed by: https:/
Make api_samples reboot test use a plausible scenario
Addressed by: https:/
WIP Make compute_
Addressed by: https:/
Refactor compute_api reboot tests to be unit-y
Addressed by: https:/
Add fill_faults() batch operation to InstanceList
Addressed by: https:/
Fix compute_api object handling code in cells messaging
Addressed by: https:/
Convert pause/unpause to use objects
Addressed by: https:/
Convert suspend/resume to use objects
Addressed by: https:/
Add expected_vm_state to Instance.save()
Addressed by: https:/
*WIP* Dummy commit
Addressed by: https:/
Prep Instance.save() to handle cells DB updates
Addressed by: https:/
Make admin API state resets use Instance.save()
Addressed by: https:/
Integrate cells start/stop with compute RPCAPI
Addressed by: https:/
Move special cells logic for start/stop
Addressed by: https:/
Better compute_api.reboot handling for cells
Gerrit topic: https:/
Addressed by: https:/
Unit-ify compute_api delete tests
Addressed by: https:/
Fix default argument values on get_all_
Addressed by: https:/
Add _set_instance_
Addressed by: https:/
Make notifications properly string-convert instance datetimes
Addressed by: https:/
Make db/api strip timezones for datetimes
Addressed by: https:/
Fix object_compat decorator for non-kwargs
Addressed by: https:/
Sync v2/v3 servers.py API files
Addressed by: https:/
Convert network API to use InfoCache object
Addressed by: https:/
Make InfoCache.
Addressed by: https:/
Make delete/soft_delete use objects
Addressed by: https:/
Make shelve pass old-world instance object to conductor
Addressed by: https:/
Fix change detection logic in conductor
Addressed by: https:/
Add ObjectActionFailed exception and make Instance use it
Addressed by: https:/
Add obj_attr_is_set() method to NovaObject
Addressed by: https:/
Make fake_instance handle security groups
Addressed by: https:/
Add Instance.create()
Addressed by: https:/
Make compute_api use Instance.create()
Addressed by: https:/
Add Instance.destroy()
Addressed by: https:/
Make compute_api use Instance.destroy()
Addressed by: https:/
Make NovaObject.get() avoid lazy-load when defaulting
Addressed by: https:/
Pull out instance object handling for use by create also
Addressed by: https:/
Fix some Instance object class usage errors
Addressed by: https:/
Refactor compute API's delete to properly do local soft_deletes
Addressed by: https:/
Fix Instance objects with empty security groups
Gerrit topic: https:/
Addressed by: https:/
Fix instance actions testing
Addressed by: https:/
Add delete() operation to InstanceInfoCache
Addressed by: https:/
Add basic InstanceAction object
Addressed by: https:/
Make compute_api use InstanceAction object
Addressed by: https:/
Deprecate conductor's compute_stop() interface
Addressed by: https:/
Deprecate conductor's compute_reboot() interface
Addressed by: https:/
Add Migration object
Addressed by: https:/
WIP Make compute_api migrate/resize paths use instance objects
Addressed by: https:/
Make compute_api use Migration object
Addressed by: https:/
Add KeyPair object
Addressed by: https:/
Make compute_api use KeyPair objects
Gerrit topic: https:/
Addressed by: https:/
Add Service object implementation
Addressed by: https:/
Add ComputeNode object implementation
Addressed by: https:/
Link Service.
Addressed by: https:/
Make compute_api use Service and ComputeNode objects
Addressed by: https:/
Fix cells manager RPC version
Addressed by: https:/
Unit-ify the compute API resize tests
Addressed by: https:/
Convert admin_actions ext tests to unit tests
Addressed by: https:/
Make compute_api use objects for lock/unlock
Addressed by: https:/
Convert reset_network to use instance object
Addressed by: https:/
Pass objects for revert and confirm resizes
Addressed by: https:/
Fixup some non-unity-ness to conductor tests
Addressed by: https:/
Add scheduler utils unit tests
Addressed by: https:/
Make backup and snapshot use objects
Addressed by: https:/
Make inject_network_info use objects
Addressed by: https:/
Fix prep_resize() stale system_metadata issue
Addressed by: https:/
Add dict and list utility functions for object typing
Addressed by: https:/
Add Aggregate object model
Addressed by: https:/
Make compute_api use Aggregate objects
Addressed by: https:/
Fix instance metadata access in xenapi
Addressed by: https:/
Add BlockDeviceMapping objects
Addressed by: https:/
Change resize_instance paths to use objects
Addressed by: https:/
Deprecate conductor migration_create()
Addressed by: https:/
Change prep_resize paths to use objects
Addressed by: https:/
Change finish_resize paths to use objects
Addressed by: https:/
Deprecate conductor migration_get()
Addressed by: https:/
Convert _poll_unconfirm
Addressed by: https:/
Change finish_
Addressed by: https:/
Add new-world Quota object
Addressed by: https:/
Make _provision_
Addressed by: https:/
Create mixin class for common DB fields
Addressed by: https:/
Switch delete to use new-world Quotas object
Gerrit topic: https:/
Addressed by: https:/
vm_state and task_state not updated during instance delete
Addressed by: https:/
Fix Instance object issues
Addressed by: https:/
Add missing Aggregate object tests
Addressed by: https:/
Generalize the _make_list() function for objects
Gerrit topic: https:/
Addressed by: https:/
Add CIDR field type
Work Items
Work items:
Instance actions: DONE
Migrations: INPROGRESS
Keypairs: INPROGRESS
Block Device Mappings: INPROGRESS
Services: INPROGRESS
Compute Nodes: INPROGRESS
Aggregates: INPROGRESS
Dependency tree

* Blueprints in grey have been implemented.