Nova virtual machine driver spec
Change-Id: I70bec71d5f41974bd0475016aeb9ce1790a33038 Partially-Implements: blueprint nova-compute-driver
This commit is contained in:
parent
d3abd7de25
commit
0c2de55981
110
specs/version0.5/nova-compute-driver.rst
Normal file
110
specs/version0.5/nova-compute-driver.rst
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
..
|
||||||
|
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||||
|
License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||||
|
|
||||||
|
===================
|
||||||
|
Nova Compute Driver
|
||||||
|
===================
|
||||||
|
|
||||||
|
Blueprint: https://blueprints.launchpad.net/octavia/+spec/nova-compute-driver
|
||||||
|
|
||||||
|
Octavia needs to interact with nova for creation of VMs for this version. This
|
||||||
|
spec will flesh out all the methods described in the compute-driver-interface
|
||||||
|
with nova VM specific commands.
|
||||||
|
|
||||||
|
Problem description
|
||||||
|
===================
|
||||||
|
This spec details operations for creating, updating, and modifying amphora that
|
||||||
|
will hold the actual load balancer. It will utilize the nova client python api
|
||||||
|
version 3 for the nova specific requests and commands.
|
||||||
|
|
||||||
|
Proposed change
|
||||||
|
===============
|
||||||
|
Expose nova operations
|
||||||
|
|
||||||
|
- Build: Will need to build a virtual machine according to configuration
|
||||||
|
parameters
|
||||||
|
|
||||||
|
- Will leverage the nova client ServerManager method "create" to build a
|
||||||
|
server
|
||||||
|
|
||||||
|
- Get: Will need to retrieve details of the virtual machine from nova
|
||||||
|
|
||||||
|
- Will leverage the nova client ServerManager method "get" to retrieve a
|
||||||
|
server, and return an amphora object
|
||||||
|
|
||||||
|
- Delete: Will need to remove a virtual machine
|
||||||
|
|
||||||
|
- Will leverage the nova client ServerManager method "delete" for removal of
|
||||||
|
server
|
||||||
|
|
||||||
|
- Status: Will need to retrieve the status of the virtual machine
|
||||||
|
|
||||||
|
- Will leverage the aforementioned get call to retrieve status of the server
|
||||||
|
|
||||||
|
Alternatives
|
||||||
|
------------
|
||||||
|
None
|
||||||
|
|
||||||
|
Data model impact
|
||||||
|
-----------------
|
||||||
|
Add fields to existing Amphora object
|
||||||
|
|
||||||
|
REST API impact
|
||||||
|
---------------
|
||||||
|
None
|
||||||
|
|
||||||
|
Security impact
|
||||||
|
---------------
|
||||||
|
None
|
||||||
|
|
||||||
|
Notifications impact
|
||||||
|
--------------------
|
||||||
|
None
|
||||||
|
|
||||||
|
Other end user impact
|
||||||
|
---------------------
|
||||||
|
None
|
||||||
|
|
||||||
|
Performance Impact
|
||||||
|
------------------
|
||||||
|
None
|
||||||
|
|
||||||
|
Other deployer impact
|
||||||
|
---------------------
|
||||||
|
None
|
||||||
|
|
||||||
|
Developer impact
|
||||||
|
----------------
|
||||||
|
Will need a nova service account and necessary credentials stored in config
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
==============
|
||||||
|
|
||||||
|
Assignee(s)
|
||||||
|
-----------
|
||||||
|
trevor-vardeman
|
||||||
|
|
||||||
|
Work Items
|
||||||
|
----------
|
||||||
|
Expose nova operations
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
============
|
||||||
|
compute-driver-interface
|
||||||
|
|
||||||
|
Testing
|
||||||
|
=======
|
||||||
|
Unit tests
|
||||||
|
Functional tests
|
||||||
|
|
||||||
|
Documentation Impact
|
||||||
|
====================
|
||||||
|
None
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
https://blueprints.launchpad.net/octavia/+spec/nova-compute-driver
|
||||||
|
http://docs.openstack.org/developer/python-novaclient/api.html
|
Loading…
Reference in New Issue
Block a user