- 1 Project codename
- 2 Trademarks
- 3 Summary (one sentence abstract of the project)
- 4 Parent Program name and PTL
- 5 Mission statement
- 6 Detailed Description
- 7 Basic roadmap for the project
- 8 Location of project source code
- 9 Programming language, required technology dependencies
- 10 Is project currently open sourced? What license?
- 11 Level of maturity of software and team
- 12 Project developers qualifications
- 12.1 Ben Swartzlander
- 12.2 Yulia Portnova
- 12.3 Valeriy Ponomaryov
- 12.4 Xing Yang
- 12.5 Alex Meade
- 12.6 Rushil Chugh
- 12.7 Clinton Knight
- 12.8 Dustin Schoenbrun
- 12.9 Rushi Agrawal
- 12.10 Andrei Ostapenko
- 12.11 Vitaly Kostenko
- 12.12 Aleksandr Chirko
- 12.13 Vijay Bellur
- 12.14 Csaba Henk
- 12.15 Ramana Raja
- 12.16 Christian Berendt
- 12.17 Shamail Tahir
- 12.18 Scott D'Angelo
- 12.19 Deepak C Shetty
- 12.20 Julia Varlamova
- 13 Infrastructure requirements (testing, etc)
- 14 Have all current contributors agreed to the OpenStack CLA?
We're not aware of any trademarks conflicts with the name. The capital city of the Philippines is called Manila, making the name a proper noun. There are no other names used by the project with trademark concerns.
Summary (one sentence abstract of the project)
The Manila project provides an API for management of shared filesystems with support for multiple protocols and backend implementations.
Parent Program name and PTL
Program: Shared Filesystems
PTL: Ben Swartzlander
Stated simply, the goal of the Manila project is to do for shared filesystem storage what Cinder has done for blocks storage.
We aim to provide a vendor neutral management interface that allows for provisioning and attaching shared filesystems such as NFS, CIFS, and more. To the extent possible we aim to mirror the architecture of Cinder, with support for a public REST API, multiple backends, and a scheduler that performs resource assignment decisions. When differences are unavoidable, we plan to design solutions that are compatible with the OpenStack ideals of modularity and scalability.
The basic assumption underpinning Manila is that shared filesystems provide some valuable features that cannot be obtained from either blocks storage or object storage, and that OpenStack is missing management features for this 3rd form of storage. The unique features afforded by shared filesystems are shared, fine-grained, read/write access to persistent data by multiple instances simultaneously. The NFS and CIFS protocols have been developed to provide these features and still prove popular after decades of use.
The implementation of Manila is actually a modified fork of the Cinder project. The concept for management of shared filesystems was originally proposed as an extension to Cinder (at the SF design summit in April 2012), under the theory that there would be a lot of common code between the implementations, and many of the same developers would be interested in working on both projects. Because of this, the initial implementation for what is now Manila was actually a large patch to the Cinder project submitted in August 2012. For a variety of reasons, we ultimately decided that a separate project would be a better way to deliver the features and the Manila project was born.
Manila consist of all of the code from Cinder with our shared filesystem management code added in and all the blocks-specific code removed. The API largely mirrors the existing Cinder APIs, except that "volumes" have been renamed to "shares" and the attachment procedure is somewhat different.
Basic roadmap for the project
The initial implementation of Manila was a proof of concept that shared filesystem management can fit into the same architecture as Cinder. The main difference between blocks and shared filesystems however is how the storage system and the ultimate user of the storage communicate with one another. In particular, shared filesystems work best when instances are able to communicate directly with the storage backend over the network, and the storage backend is able to serve multiple tenants while maintaining secure separation between them. Block storage can simply be virtualized through a hypervisor, with far fewer requirements on the backend storage system. Because of these differences, additional work is needed to help automate the networking portion of attaching a shared filesystem to one or more instances in a tenant network, and to automate the setup of security domains and other features that exist in a NAS environment but not a SAN environment.
During Icehouse, our main goals are to define and implement these new APIs as well as expanding the backend driver interface to support true multitenancy (the kind with network segmentation) in Manila. We also aim to get as many backends implemented as possible, and to this end we will be improving the reference drivers and documentation for developing new ones. ̈
Location of project source code
- Project code: https://github.com/stackforge/manila
- Python client: https://github.com/stackforge/python-manilaclient
Programming language, required technology dependencies
Message queue, database server, keystone, neutron Optional parts of Manila depend on: nova, cinder
There is a plan to make the neutron dependency optional in the future.
Is project currently open sourced? What license?
Yes - Licensed under the Apache License, Version 2.0
Level of maturity of software and team
Aside from the code inherited from Cinder, the new Manila code is a little more than a year old, and has been actively developed from then until now, mostly by developers from NetApp and Mirantis.
The core team now consists of developers from NetApp and Mirantis, with significant community interest since the code was open sourced in August 2013.
Project developers qualifications
NetApp - Software Architect, Manila - PTL
Ben Swartzlander has been the technical lead for the project since its conception 2 years ago, and plans to continue leading the project from a design and administrative standpoint. Ben has been working the storage industry as a software engineer for more than 13 years and has extensive experience with storage systems, network protocols, virtualization, and open source projects. Ben has been a contributor to the OpenStack project for nearly 3 years.
Mirantis - Software Developer, Manila - Core Team
Yulia has been working in Mirantis with OpenStack since Essex release. Has contributions to Nova, Glance, Cinder.
Mirantis - QA Automation Engineer, Manila - Core Team
Valeriy has been working with OpenStack since Folsom release, except Manila project he has contributions to Tempest, CI Config and Oslo-Incubator, also he is one of the developers of Horizon modification and Devstack plugin for Manila project.
EMC - Consultant Technologist, Manila - Core Team
Xing is a technologist from the Office of the CTO at EMC. She has many years of experience working with storage technologies, data protection and disaster recovery, and cloud and virtualization related projects. Xing has been an OpenStack contributor since the Grizzly release and has made contributions in Cinder and Nova.
NetApp - Software Developer
Alex has been working on OpenStack for over 3 years and is a Core contributor for the Glance project. He previously worked on the Rackspace public cloud deployment and is interested in OpenStack at scale.
NetApp - Software Developer
Rushil holds a Masters in Computer Networking and has been working with OpenStack since the Grizzly release. Rushil holds a keen interest in Enterprise Network Deployments, Data Storage and Virtualization.
NetApp - Sr. Software Developer
Clinton holds a doctorate in electrical & computer engineering, has worked in the storage industry for 15 years, and has extensive experience with storage management and protocols as well as virtualization.
NetApp - Software QA Engineer
Dustin holds a Bachelor's in Computer Science from the University of New Hampshire and has worked in the storage industry for 8 years and has been with NetApp for 4 of them. He has worked as a software engineer and QA engineer on several of NetApp's integrations with other vendors' virtualization products and now focuses on OpenStack integrations.
Reliance Jio Cloud - Software Developer
Mirantis - Software Developer
Andrei works with OpenStack since folsom release and is mostly involved in new stackforge components.
Mirantis - Software Developer
Mirantis - Software Developer
HP Public Cloud
Deepak C Shetty
Red Hat - OpenStack Developer
Mirantis - Intern Software Developer
Julia has been working on OpenStack for 1.5 years. Has contributions to Glance, Cinder, Oslo.DB.
Infrastructure requirements (testing, etc)
Manila does not require any infrastructure above and beyond what's already provided by devstack, gerrit, jenkins, and tempest today.
Have all current contributors agreed to the OpenStack CLA?
All current contributors HAVE agreed to the OpenStack CLA!