This page documents the concept and vision for establishing a shared file system service for OpenStack. The development name for this project is Manila. We propose and are in the process of implementing a new OpenStack service (originally based on Cinder). Cinder presently functions as the canonical storage provisioning control plane in OpenStack for block storage as well as delivering a persistence model for instance storage. The File Share Service prototype, in a similar manner, provides coordinated access to shared or distributed file systems. While the primary consumption of file shares would be across OpenStack Compute instances, the service is also intended to be accessible as an independent capability in line with the modular design established by other OpenStack services. The design and prototype implementation provide extensibility for multiple backends (to support vendor or file system specific nuances / capabilities) but is intended to be sufficiently abstract to accommodate any of a variety of shared or distributed file system types. The team's intention is to introduce the capability as an OpenStack incubated project in the Juno timeframe, graduate it and submit for consideration as a core service as early as the as of yet unnamed "K" release.
According to IDC in its “Worldwide File-Based Storage 2012-2016 Forecast” (doc#235910, July 2012), file-based storage continues to be a thriving market, with spending on File-based storage solutions to reach north of $34.6 billion in 2016. Of the 27 Exabyte’s (EB) of total disk capacity estimated to have shipped in 2012, IDC projected that nearly 18 EB were of file-based capacity, accounting for over 65% of all disk shipped by capacity. A diversity of applications, from server virtualization to relational or distributed databases to collaborative content creation, often depend on the performance, scalability and simplicity of management associated with file-based systems, and the large ecosystem of supporting software products. OpenStack, as the leading open IaaS capability, is increasingly contemplated as an option for deploying classic infrastructure in an "as a Service" model, but without specific accommodation for shared file systems represents an incomplete solution.
Python Manila Client
Getting Started with Manila
Developer documentation is still in progress, but is available in a draft state: Manila Documentation
Incubation / Graduation
Track progress towards Manila Incubation & Graduation.
Design & Use Cases
- Manila/Ideas Backlog
- Manila/Incubation Application
- Manila/Kilo Network Changes
- Manila/Kilo Network Spec
- Manila/Manila Storage Integration Patterns
- Manila/Networking/Gateway mediated
- Manila/Program Application
- Manila/Provide private data storage API for drivers
- Manila/Replication Design Notes
- Manila/Replication Use Cases
- Manila/SAP enterprise team
- Manila/design/access groups
- Manila/docs/HOWTO use manila with horizon
- Manila/docs/HOWTO use tempest with manila
- Manila/docs/Manila Developer Setup Fedora19
- Manila/docs/Setting up DevStack with Manila on Fedora 20