VMware vm_ref refactor
The improper fetching, caching, invalidation, and use of vm_ref in the driver causes multiple performance problems and functional problems in the driver. This utility needs to be redesigned.
High/Critical priority problems caused by vm_util.py :
* https:/
* https:/
* https:/
The structure and use of the vm_util.py has become convoluted due to its history. It is time to reexamine the code around this utility.
Refactor goals:
* consolidate fetch operations for vm_ref and related information
** reduce number of network round trips
** reduce result set size to further reduce network IO locking problems
** introduce a VirtualMachine data object which can later be augmented or changed to centralize these operations.
At minimum by Juno-1 establish *the right way* to access vm_ref and related data.
Incremental and iterative progress can be made to deprecate the old methods of retrieving this data.
NOTE: This should compliment work being conducted by Rado.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Shawn Hartsock
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Review
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
scratch pad: https:/
Gerrit topic: https:/
Addressed by: https:/
Propose: VMware vm_ref (aka vm_util) refactor
Work Items
Work items:
refactor_
virtual_machine data object definition: INPROGRESS
finder methods: TODO
cache modifications: TODO
deprecation of old getter and search methods: TODO
removal of old methods: TODO