Jump to: navigation, search

Difference between revisions of "GSoC2014/Incubator/SharedLib"

(Implement a re-usable shared library for vmware (oslo.vmware) to be consumed by various OpenStack projects)
(Students' proposals)
 
Line 70: Line 70:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
| Student || Proposal
+
| Student || Proposal Link
 
|-
 
|-
 
| Masaru Nomura || [[GSoC2014/Student/Masaru|https://wiki.openstack.org/wiki/GSoC2014/Student/Masaru]]
 
| Masaru Nomura || [[GSoC2014/Student/Masaru|https://wiki.openstack.org/wiki/GSoC2014/Student/Masaru]]
 
|}
 
|}

Latest revision as of 15:21, 5 March 2014

Implement a re-usable shared library for vmware (oslo.vmware) to be consumed by various OpenStack projects

Difficulty Medium
Topics VMware API, Python, Nova/Glance/Cinder
Mentor Arnaud Legendre

The VMware API is consumed by OpenStack using the oslo.vmware library [1]. This library recently created specifically for OpenStack is shared by several projects such as Nova, Glance and Cinder. Internally, it is using SOAP calls to communicate with vCenter server and ESXi. Instead of consuming the API through SOAP calls, it would be possible to use PyVmomi which is a Python SDK for the VMware vSphere API [2]. This work will give the opportunity to redefine a clean and more performant API. It involves:

  1. Deep dive the current API and how it is consumed by the OpenStack services
  2. Deep dive in PyVmomi
  3. Define an API
  4. Provide an implementation for this API using PyVmomi
  5. Make sure existing tests are working or modify them accordingly


[1] https://github.com/openstack/oslo.vmware/

[2] https://github.com/vmware/pyvmomi

Assumed Knowledge

  • Python - basics, class/module management
  • Command Line - a little bit of git, code editing, navigation
  • Already played with virtual machines
  • Experience with API definition
  • Some basic knowledge of what VMware does would be a plus


Refer to Python, Openstack, and You if you'd like to get a head start. I will be able to help you!!

Project Goals

  • Provide a clean interface for the OpenStack VMware library
  • Provide an implementation for it using PyVmomi
  • Provide a test suite

Project Nice-to-Haves

  • Performance evaluation of PyVmomi compared to the current codebase
  • Provide some documentation for the API
Suggestions
  • vCenter and ESX:

vCenter server: http://www.vmware.com/products/vcenter-server

VMware ESX: http://en.wikipedia.org/wiki/VMware_ESX

  • How to write APIs:

https://ep2013.europython.eu/conference/talks/guidelines-to-writing-a-python-api

  • OpenStack:

Cinder: https://wiki.openstack.org/wiki/Cinder

Glance: http://docs.openstack.org/developer/glance/

Nova: http://docs.openstack.org/developer/nova/

Students' proposals

Student Proposal Link
Masaru Nomura https://wiki.openstack.org/wiki/GSoC2014/Student/Masaru