OpenStack and xcat: Difference between revisions
No edit summary (change visibility) |
No edit summary (change visibility) |
||
| Line 37: | Line 37: | ||
First we will research the xCat functions that we will extend and write a plugin for(This part is mostly done at this point). After we finish the research part, we will start coding the plugin itself. The development process of the code will be done with Python. After we complete the first version of the code, we will start the debugging process and iterate on the code itself until all the bugs are corrected. After we finish debugging the code, we will test the plugin to see if it meets the requirements. Finally, we will deliver the plugin. Entire development process will also be documented here on this wiki as well as the documentation for the plugin itself. |
First we will research the xCat functions that we will extend and write a plugin for(This part is mostly done at this point). After we finish the research part, we will start coding the plugin itself. The development process of the code will be done with Python. After we complete the first version of the code, we will start the debugging process and iterate on the code itself until all the bugs are corrected. After we finish debugging the code, we will test the plugin to see if it meets the requirements. Finally, we will deliver the plugin. Entire development process will also be documented here on this wiki as well as the documentation for the plugin itself. |
||
== OpenStack == |
|||
What is OpenStack: http://en.wikipedia.org/wiki/Openstack |
|||
OpenStack website: http://www.openstack.org/ |
|||
API reference: http://api.openstack.org/api-ref.html |
|||
== OpenStack Modules == |
|||
''' NOVA ''' |
|||
NOVA is the compute module for the OpenStack. It is the main controller part of the project and it is written in Python and designed to be horizontally scalable. |
|||
''' QUANTUM ''' |
|||
QUANTUM is the network module for the OpenStack. It is responsible for managing networks and IP addresses in the cloud. It also has support for plugins. |
|||
''' SWIFT and CINDER ''' |
|||
These two modules are used for storage. SWIFT is used for object storage while CINDER is used for block storage. |
|||
These modules cover the three main aspects of OpenStack: Compute, Networking and Storage. There are many more smaller modules for other parts of the OpenStack but we will mainly focus on these modules for our project. |
|||
''' Guides and Documents ''' |
|||
Quantum API guide: http://docs.openstack.org/api/openstack-network/2.0/content/ |
|||
Nova developer guide: http://docs.openstack.org/api/openstack-compute/2/content/ |
|||
Presentation on Quantum and it's plugins: http://www.xlcloud.org/bin/download/Download/Presentations/XLCloud-Networking_Needs_Quantum.pdf |
|||
''' Quantum Plugins ''' |
|||
Quantum has support for plugins and there are many plugins right now that add to and extend many of the networking functions of Quantum. Some of them are: |
|||
Open vSwitch Plugin: http://openvswitch.org/ |
|||
Cisco UCS/Nexus Plugin: https://wiki.openstack.org/wiki/Cisco-quantum |
|||
Linux Bridge Plugin: https://wiki.openstack.org/wiki/Quantum-Linux-Bridge-Plugin |
|||
Nicira Network Virtualization Platform (NVP) Plugin: http://nicira.com/en/network-virtualization-platform |
|||
Ryu OpenFlow Controller Plugin: http://osrg.github.io/ryu/ |
|||
Revision as of 11:51, 25 April 2013
This wiki page is for the development of XCAT/OpenStack Senior Project for IBM.
Documentation
xCat Wiki : http://sourceforge.net/apps/mediawiki/xcat/index.php?title=Main_Page
zVM 5.4.0 SMAPI book : http://publib.boulder.ibm.com/infocenter/zvm/v5r4/index.jsp?topic=/com.ibm.zvm.v54.dmse6/hcsl8b30.htm
Open Stack : http://www.openstack.org/
z/VM System Management Application Programming SMAPI functions tie into lots of different z/VM systems management tasks, so here's a link to the particular SMAPI functions for connectivity: http://publib.boulder.ibm.com/infocenter/zvm/v6r2/index.jsp?topic=%2Fcom.ibm.zvm.v620.dmse6%2Fhcsl8c1134.htm&path=6_18_3_1_9
Design proposal
INTRODUCTION
This is a design proposal for our project that aims to make it possible to make a connection between Openstack and xCat.
CURRENT SITUATION
Currently we cannot establish a connection from an Openstack client to an xCat client. There is no plugin for xCat to make this connection.
At this stage of the development we have installed Openstack on our computers. We have researched the Openstack functions that we should use for making the connection. We are also researching the xCat functions.
GOALS
Our project's main goal is to create a connection between Openstack and xCat. We will develop a plugin for xCat that will make this connection possible. We should be able to connect to xCat installation on the Watson mainframe from our workstations which has Openstack installed.
PLANNING
We plan to develop the plugin to be able to create connections for virtual switches. The Openstack plugin OpenvSwitch provides the necessary environment required through virtual switches. The coding of the plugin will be done in Python because xCat is mostly Python based so it will be easy to run on.
PROCESS
First we will research the xCat functions that we will extend and write a plugin for(This part is mostly done at this point). After we finish the research part, we will start coding the plugin itself. The development process of the code will be done with Python. After we complete the first version of the code, we will start the debugging process and iterate on the code itself until all the bugs are corrected. After we finish debugging the code, we will test the plugin to see if it meets the requirements. Finally, we will deliver the plugin. Entire development process will also be documented here on this wiki as well as the documentation for the plugin itself.
OpenStack
What is OpenStack: http://en.wikipedia.org/wiki/Openstack
OpenStack website: http://www.openstack.org/
API reference: http://api.openstack.org/api-ref.html
OpenStack Modules
NOVA
NOVA is the compute module for the OpenStack. It is the main controller part of the project and it is written in Python and designed to be horizontally scalable.
QUANTUM
QUANTUM is the network module for the OpenStack. It is responsible for managing networks and IP addresses in the cloud. It also has support for plugins.
SWIFT and CINDER
These two modules are used for storage. SWIFT is used for object storage while CINDER is used for block storage.
These modules cover the three main aspects of OpenStack: Compute, Networking and Storage. There are many more smaller modules for other parts of the OpenStack but we will mainly focus on these modules for our project.
Guides and Documents
Quantum API guide: http://docs.openstack.org/api/openstack-network/2.0/content/
Nova developer guide: http://docs.openstack.org/api/openstack-compute/2/content/
Presentation on Quantum and it's plugins: http://www.xlcloud.org/bin/download/Download/Presentations/XLCloud-Networking_Needs_Quantum.pdf
Quantum Plugins
Quantum has support for plugins and there are many plugins right now that add to and extend many of the networking functions of Quantum. Some of them are:
Open vSwitch Plugin: http://openvswitch.org/
Cisco UCS/Nexus Plugin: https://wiki.openstack.org/wiki/Cisco-quantum
Linux Bridge Plugin: https://wiki.openstack.org/wiki/Quantum-Linux-Bridge-Plugin
Nicira Network Virtualization Platform (NVP) Plugin: http://nicira.com/en/network-virtualization-platform
Ryu OpenFlow Controller Plugin: http://osrg.github.io/ryu/