Shared filesystem management project for OpenStack.
Go to file
Clinton Knight 12eeedb639 Manila NetApp cDOT driver refactoring
The Manila cDOT driver is a single file exceeding 1200 lines.  It contains
multiple things (driver code, protocol helpers, ZAPI invocation code,
options) that should be split apart to allow for easier maintenance and
readability and add the potential for code sharing when we reintroduce
a 7-mode driver, add a single-SVM cDOT driver, etc.

We recently refactored NetApp's DOT Cinder drivers into a 4-layer
structure (interface, library, client, API) that separates concerns and
achieves the goals set forth above.  This commit satisfies a plan to
do the same thing in Manila.  The implementation steps are:

1. Update directory structure to match that of the Cinder NetApp drivers
2. Create driver interface shim
3. Move driver code to library (with base & C-mode classes, to allow for
   7-mode code sharing later)
4. Move protocol helpers to separate files (already organized by base &
   C-mode classes)
5. Split out ZAPI code to client layer (with base & C-mode classes, to
   allow for 7-mode code sharing later)
6. Implement NetApp driver factory as in Cinder
7. Implement common NetApp options file as in Cinder
8. Implement cDOT API call optimizations
9. Update all unit tests as needed

Note that this patch appears to treble the total number of code lines.
This is due to the addition of many more unit tests plus a large amount
of fake controller API data to feed the API client tests.

Implements: blueprint netapp-manila-cdot-driver-refactoring
Closes-Bug: #1410317
Partial-Bug: #1396953
Closes-Bug: #1370965
Closes-Bug: #1418690
Closes-Bug: #1418696

Change-Id: I3fc0d09adf84a3708f110a89a7c8c760f4ce3588
2015-02-10 12:30:24 +00:00
bin Merge "Fix typo "authogenerate" in manila-manage" 2015-01-31 17:10:14 +00:00
contrib Add CI job support for second mode of Generic driver 2015-02-02 11:57:39 +00:00
doc Manila NetApp cDOT driver refactoring 2015-02-10 12:30:24 +00:00
etc Merge "Pool-aware Scheduler Support" 2015-02-05 01:37:54 +00:00
manila Manila NetApp cDOT driver refactoring 2015-02-10 12:30:24 +00:00
tools py3: use six.moves.urllib.parse instead of urlparse 2014-12-27 08:51:32 +08:00
.gitignore Add manila.conf.sample to .gitignore 2015-01-20 07:48:11 +00:00
.gitreview Move from stackforge to openstack 2014-09-19 21:23:02 +00:00
.testr.conf Use oslotest.base.BaseTestCase as test base class 2015-01-04 08:43:52 +01:00
CONTRIBUTING.md Workflow documentation is now in infra-manual 2014-12-16 13:13:49 +01:00
HACKING.rst Convert files to use _LE and friends 2014-10-31 09:47:59 +01:00
LICENSE Initialize from cinder 2013-08-08 10:34:06 -04:00
MANIFEST.in Initialize from cinder 2013-08-08 10:34:06 -04:00
README.rst Rename stackforge to openstack in docs 2014-09-20 09:20:11 +03:00
babel.cfg Initialize from cinder 2013-08-08 10:34:06 -04:00
openstack-common.conf Merge "Remove unused sslutils module" 2015-01-06 04:31:41 +00:00
pylintrc docs 2013-09-17 10:57:47 +03:00
requirements.txt Use oslo_log lib 2015-02-08 10:42:40 +00:00
run_tests.sh Use lockutils from "oslo concurrency" lib 2014-12-26 15:19:46 +02:00
setup.cfg Set pbr 'warnerrors' option for doc build 2015-01-07 17:46:14 +01:00
setup.py Sync with global requirements 2014-07-14 11:15:21 +02:00
test-requirements.txt Fix metadata validation in share api 2014-12-12 18:39:28 +02:00
tox.ini Merge "Silence tox warning" 2014-10-27 01:24:45 +00:00

README.rst

The Choose Your Own Adventure README for Manila

You have come across an OpenStack shared filesystem service. It has identified itself as "Manila." It was abstracted from the Cinder project.

To monitor it from a distance: follow @openstack on twitter.

To tame it for use in your own cloud: read http://docs.openstack.org

To study its anatomy: read https://wiki.openstack.org/wiki/Manila

To dissect it in detail: visit http://github.com/openstack/manila

To taunt it with its weaknesses: use http://bugs.launchpad.net/manila

To watch it: http://jenkins.openstack.org

To hack at it: read HACKING.rst

To cry over its pylint problems: http://jenkins.openstack.org/job/manila-pylint/violations