Features/StorageManagement

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Current status)
m (update updated date)
 
(9 intermediate revisions by 3 users not shown)
Line 4: Line 4:
 
<!-- The actual name of your feature page should look something like: Features/YourFeatureName.  This keeps all features in the same namespace -->
 
<!-- The actual name of your feature page should look something like: Features/YourFeatureName.  This keeps all features in the same namespace -->
  
= Features/libStorageMgmt <!-- The name of your feature --> =
+
= StorageManagement <!-- The name of your feature --> =
  
 
== Summary ==
 
== Summary ==
 
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
 
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
A library that will provide a vendor agnostic open source storage application programming interface (API) that will allow management of storage arrays (Storage Area Networks).
 
  
 +
StorageManagement is a collection of storage management tools that includes:
  
== Owner ==
+
[http://sourceforge.net/projects/libstoragemgmt libStorageMgmt]  -  A command line utility and library that provides a vendor agnostic open source storage application programming interface (API) for storage area networks (SAN) and network attached storage (NAS).
 +
 
 +
[https://github.com/agrover/targetd targetd]  - exposes a remote "storage appliance" interface. It allows volumes to be allocated from a pool, and then exported over iSCSI for use by other hosts.
 +
 
 +
 
 +
== Owners ==
 
<!--This should link to your home wiki page so we know who you are-->
 
<!--This should link to your home wiki page so we know who you are-->
* Name: [[User:tasleson| Tony Asleson]]
+
* Names: [[User:tasleson| Tony Asleson]] and [[User:grover| Andy Grover]]
  
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
* Email: tasleson@redhat.com
+
* Email: tasleson at redhat dot com, agrover at redhat dot com
  
 
== Current status ==
 
== Current status ==
 
* Targeted release: [[Releases/18 | Fedora 18 ]]  
 
* Targeted release: [[Releases/18 | Fedora 18 ]]  
* Last updated: 19 Jun 2012
+
* Last updated: Oct 2 2012
* Percentage of completion: 65%
+
* Percentage of completion: 100%
  
 
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->
 
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->
Line 27: Line 32:
 
== Detailed Description ==
 
== Detailed Description ==
 
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
 
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
Today system administrators utilizing open source solutions have no way to programmatically manage their storage hardware in a vendor neutral way.  This libraries main goal is to provide this needed functionality.  For full scope of the library please visit: http://sourceforge.net/apps/trac/libstoragemgmt/wiki/ProjectScope
 
  
 +
Today storage arrays have to be manually configured through vendor provided interfaces and APIs.  Typically these arrays provide advanced features that if leveraged can provide significant performance and storage utilization improvements.  One application that can benefit significantly is virtualized environments.
 +
 +
LibStorageMgmt will allow a common API so that the virtualization framework can code to one API and take advantage of numerous array vendors and provide a unified management experience.  With this functionality the VM admin will be able to easily and quickly provision a new VM from a template or an existing VM.  With some of the arrays this operation will take seconds instead of minutes to hours.
 +
 +
To facilitate the remote storage management required in advanced virtualization environments, targetd will provide a remote API that will be utilized via a plug-in for libStorageMgmt.  This will free the admin from having to log in to the storage server, allocate storage for the volume, and then configure the iSCSI target to export that volume before the VM can use it.
  
 
== Benefit to Fedora ==
 
== Benefit to Fedora ==
 
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
 
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
This library will allow fedora users the ability to manage their storage arrays programmatically.  To allocate/de-allocate/re-size/snapshot/map logical units to host initiators.
+
This feature will allow fedora users the ability to manage their storage arrays programmatically.  To allocate/de-allocate/re-size/snapshot/map logical units to host initiators.  To leverage FOSS software for their storage needs.
  
 
== Scope ==
 
== Scope ==
 
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
 
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
This is a new isolated library that only needs to complete its own functionality for completion.
+
* LibStorageMgmt dependencis are all met with existing fedora released libraries. 
 +
* targetd is isolated to packages: python-lvm, python-rtslib 2.1.fb14+ (must be fb*), python-setproctitle, pyYAML which are all available in Fedora Rawhide.
  
 
== How To Test ==
 
== How To Test ==
Line 52: Line 62:
 
3. What are the expected results of those actions?
 
3. What are the expected results of those actions?
 
-->
 
-->
Automated library testing will be completed with the use of a simple storage array simulator plug-in.  Complete tests for each of the included plug-ins will require vended hardware which may not be available for testing.  Plug-ins that are not included with the project will require independent testing by plug-in author .
+
libStorageMgmt automated library and CLI testing will be completed with the use of a simple storage array simulator plug-in.  Complete tests for each of the included plug-ins will require vended hardware which may not be available for testing.  Plug-ins that are not included with the project will require independent testing by plug-in author.
 +
 
 +
targetd can be tested on commodity hardware. Creation of a separate LVM volume group for targetd to use for volume allocations, and configure targetd daemon (via configfile). Can then be tested by direct use of HTTP/jsonrpc interface (port 18700) or via libstoragemgmt cli. All targetd rpc methods should be tested.  
  
 
== User Experience ==
 
== User Experience ==
Line 60: Line 72:
 
== Dependencies ==
 
== Dependencies ==
 
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
 
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
None, all external dependencies are available.  
+
targetd depends on libstoragemgmt for CLI support.
  
 
== Contingency Plan ==
 
== Contingency Plan ==
Line 69: Line 81:
 
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
 
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
 
* http://sourceforge.net/projects/libstoragemgmt/
 
* http://sourceforge.net/projects/libstoragemgmt/
 +
* manpage and ancillary documentation will be written by upstream developers (Tony & Andy)
 +
* [https://github.com/agrover/targetd/blob/master/README.md targetd README]
  
 
== Release Notes ==
 
== Release Notes ==
 
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
 
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
 
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
 
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
* http://sourceforge.net/apps/trac/libstoragemgmt/
+
* [http://sourceforge.net/apps/trac/libstoragemgmt libStorageMgmt wiki
 +
* [https://github.com/agrover/targetd/blob/master/README.md targetd README]
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
* See [[Talk:Features/libstoragemgmt]]  <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
+
* See [[Talk:Features/StorageManagement]]  <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
  
  
[[Category:FeaturePageIncomplete]]
+
[[Category:FeatureAcceptedF18]]
 
<!-- When your feature page is completed and ready for review -->
 
<!-- When your feature page is completed and ready for review -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 15:37, 2 October 2012


Contents

[edit] StorageManagement

[edit] Summary

StorageManagement is a collection of storage management tools that includes:

libStorageMgmt - A command line utility and library that provides a vendor agnostic open source storage application programming interface (API) for storage area networks (SAN) and network attached storage (NAS).

targetd - exposes a remote "storage appliance" interface. It allows volumes to be allocated from a pool, and then exported over iSCSI for use by other hosts.


[edit] Owners

  • Email: tasleson at redhat dot com, agrover at redhat dot com

[edit] Current status

  • Targeted release: Fedora 18
  • Last updated: Oct 2 2012
  • Percentage of completion: 100%


[edit] Detailed Description

Today storage arrays have to be manually configured through vendor provided interfaces and APIs. Typically these arrays provide advanced features that if leveraged can provide significant performance and storage utilization improvements. One application that can benefit significantly is virtualized environments.

LibStorageMgmt will allow a common API so that the virtualization framework can code to one API and take advantage of numerous array vendors and provide a unified management experience. With this functionality the VM admin will be able to easily and quickly provision a new VM from a template or an existing VM. With some of the arrays this operation will take seconds instead of minutes to hours.

To facilitate the remote storage management required in advanced virtualization environments, targetd will provide a remote API that will be utilized via a plug-in for libStorageMgmt. This will free the admin from having to log in to the storage server, allocate storage for the volume, and then configure the iSCSI target to export that volume before the VM can use it.

[edit] Benefit to Fedora

This feature will allow fedora users the ability to manage their storage arrays programmatically. To allocate/de-allocate/re-size/snapshot/map logical units to host initiators. To leverage FOSS software for their storage needs.

[edit] Scope

  • LibStorageMgmt dependencis are all met with existing fedora released libraries.
  • targetd is isolated to packages: python-lvm, python-rtslib 2.1.fb14+ (must be fb*), python-setproctitle, pyYAML which are all available in Fedora Rawhide.

[edit] How To Test

libStorageMgmt automated library and CLI testing will be completed with the use of a simple storage array simulator plug-in. Complete tests for each of the included plug-ins will require vended hardware which may not be available for testing. Plug-ins that are not included with the project will require independent testing by plug-in author.

targetd can be tested on commodity hardware. Creation of a separate LVM volume group for targetd to use for volume allocations, and configure targetd daemon (via configfile). Can then be tested by direct use of HTTP/jsonrpc interface (port 18700) or via libstoragemgmt cli. All targetd rpc methods should be tested.

[edit] User Experience

Initial user experience will be limited to a basic scriptable command line interface and library to perform management tasks. In the future additional libraries and applications will benefit from the library which will greatly improve the users experience.

[edit] Dependencies

targetd depends on libstoragemgmt for CLI support.

[edit] Contingency Plan

None necessary as this is a new feature.

[edit] Documentation

[edit] Release Notes

[edit] Comments and Discussion