OpenStack Compute (Nova)

Utilize uuids internally to reference Instances

Registered by Brian Waldon on 2011-11-08

Currently we support uuids through our public interfaces, but internally we still depend on integers. We should transition the codebase to depend fully on uuids. We currently have a four-tiered approach:

1) Convert compute api to accept instance objects
2) Convert compute manager to accept instance uuids
3) Convert virt drivers to accept instance objects
4) Update any remaining integer-based calls

Blueprint information

Status:
Complete
Approver:
Vish Ishaya
Priority:
Medium
Drafter:
Brian Waldon
Direction:
Approved
Assignee:
Titan
Definition:
Approved
Series goal:
Accepted for essex
Implementation:
Implemented
Milestone target:
milestone icon 2012.1
Started by
Thierry Carrez on 2011-11-14
Completed by
Vish Ishaya on 2011-12-13

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/internal-uuids,n,z

Addressed by: https://review.openstack.org/1432
    Converting reboot to use instance objects

Addressed by: https://review.openstack.org/1459
    Converting resize to use instance objects

Addressed by: https://review.openstack.org/1462
    Converting rebuild to use instance objects.

Addressed by: https://review.openstack.org/1506
    Converting delete to use instance objects

Addressed by: https://review.openstack.org/1507
    Converting start and stop to use instance objects

Addressed by: https://review.openstack.org/1517
    Convert pause/unpause, sus/res to use instance obj

Addressed by: https://review.openstack.org/1518
    Converting metadata calls to use instance objects

Addressed by: https://review.openstack.org/1519
    Convert pause/unpause, sus/res to use instance obj

Addressed by: https://review.openstack.org/1520
    Converting set password to use instance objects

Addressed by: https://review.openstack.org/1521
    Convert pause/unpause, sus/res to use instance obj

Addressed by: https://review.openstack.org/1522
    Converting inject_file to use instance objects

Addressed by: https://review.openstack.org/1523
    Converting rescue/unrescue to use instance objects

Addressed by: https://review.openstack.org/1531
    Converting fixed ip calls to use instance objects

Addressed by: https://review.openstack.org/1532
    Converting consoles calls to use instance objects

Addressed by: https://review.openstack.org/1534
    Converting attach_volume to use instance object

Addressed by: https://review.openstack.org/1535
    Converting snapshot/backup to use instance objects

Addressed by: https://review.openstack.org/1536
    Converting network methods to use instance objects

Addressed by: https://review.openstack.org/1538
    Convert security_group calls to use instance objs

Addressed by: https://review.openstack.org/1539
    Converting lock/unlock to use instance objects

Addressed by: https://review.openstack.org/1540
    Convert remaining calls to use instance objects

Addressed by: https://review.openstack.org/1727
    pause/unpause in compute manager to use uuids

Addressed by: https://review.openstack.org/1729
    suspend/resume in compute manager to use uuids

Addressed by: https://review.openstack.org/1735
    snapshot/backup in compute manager to use uuids

Addressed by: https://review.openstack.org/1737
    suspend/resume in compute manager to use uuids

Addressed by: https://review.openstack.org/1738
    lock/unlock in compute manager to use uuids

Addressed by: https://review.openstack.org/1766
    Updating attach/detach in compute.api and compute.manager to use instance uuid instead of instance id. blueprint internal-uuids

Addressed by: https://review.openstack.org/1848
    Updating {add,remove}_security_group in compute.api to use instance uuids instead of instance ids. blueprint internal-uuids

Addressed by: https://review.openstack.org/1851
    Clean up compute api

Addressed by: https://review.openstack.org/1852
    Change compute API.update() to take object+params

Addressed by: https://review.openstack.org/1855
    Updating {add,remove}_fixed_ip_from_instance in compute.api and compute.manager to use instance uuid instead of instance id. blueprint internal-uuids

Addressed by: https://review.openstack.org/1856
    start/stop in compute manager to use uuids

Addressed by: https://review.openstack.org/1869
    power_on/power_off in compute manager to use uuids

Addressed by: https://review.openstack.org/1874
    rescue/unrescue in compute manager to use uuids

Addressed by: https://review.openstack.org/1876
    Updating set_admin_password in compute.api and compute.manager to use instance uuids instead of instance ids. Blueprint internal-uuids

Addressed by: https://review.openstack.org/1878
    reset/inject network info in compute to use uuid

Addressed by: https://review.openstack.org/1911
    Use instances for consoles and diagnostics

Addressed by: https://review.openstack.org/1919
    Use instance uuids for consoles and diagnostics.

Addressed by: https://review.openstack.org/1924
    Updating inject_file in compute.api and compute.manager to use instance uuids instead of instance ids. blueprint: internal-uuids

Addressed by: https://review.openstack.org/1927
    Use uuids for file injection.

Addressed by: https://review.openstack.org/1928
    Convert compute manager delete methods to objects

Addressed by: https://review.openstack.org/1942
    Use uuids for compute manager agent update.

Addressed by: https://review.openstack.org/1943
    reboot & rebuild to use uuids in compute manager

Addressed by: https://review.openstack.org/1950
    Fixing get_info method implementations in virt drivers to accept instance_name instead of instance_id. The abstract class virt.ComputeDriver defines get_info as: def get_info(self, instance_name). blueprint: internal-uuids

Addressed by: https://review.openstack.org/1956
    Make run_instance only support instance uuids.

Addressed by: https://review.openstack.org/1980
    Replacing instance id's in in xenapi.vmops and the xen plugin with instance uuids. The only references to instance id's left are calls to the wait_for_task() method. I will address that in another branch. blueprint: internal-uuids

Addressed by: https://review.openstack.org/2017
    Replace more cases of instance ids with uuids

Addressed by: https://review.openstack.org/2019
    Replace more cases of instance ids with uuids

Addressed by: https://review.openstack.org/2024
    Convert get_lock in compute to use uuids

Addressed by: https://review.openstack.org/2114
    Update associate_floating_ip to use instance objs

Addressed by: https://review.openstack.org/2244
    Renaming instance_actions.instance_id column to instance_uuid. blueprint: internal-uuids

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.