OpenStack Manila Shared File Services for the Cloud Bob Callaway, PhD Chief Architect & Senior Manager, Technical Marketing OpenStack Cloud Solutions Group, NetApp OpenStack Summit Paris November 3 rd, 2014 1
Agenda 1) Project Overview 2) Use Cases 3) Demo 4) Architectural Overview 5) Drivers: Vendor Integrations 6) Automation 7) What s new in Juno and Kilo Focus 8) How to get started with Manila 2
Manila: The OpenStack Shared File Service Program NetApp is a leading innovator in the OpenStack community Create a Marketing share for 2 & 4 Manila is now a formally incubated OpenStack program! Applicable for a variety of use cases (DBaaS, generic file share, VDI, etc) Share R&D with Instances 1 & 3 Manila Clustered Data ONTAP Nova Hypervisor VM VM VM VM VM VM Finance R&D Marketing
65 % of all storage sold is for file-based use cases per IDC, 2012 4
Use Cases Manila The OpenStack Shared File Service Program 5
Manila: Shared File Services within an OpenStack Deployment Adding File Services along side Block & Object in OpenStack clouds 6
Manila: Standalone Shared File Services Management An Open, Standard API for File System Provisioning and Management Replace homegrown or legacy systems Improve IT responsiveness by providing self-service share management Integrate Manila with existing automation frameworks through REST API or CLI Manila REST API Shared File Services 7
Demo Manila The OpenStack Shared File Service Program 8
Key Concepts & Architecture Manila The OpenStack Shared File Service Program 9
Manila: Key Concepts Share (an instance of a shared file system) User specifies size, access protocol, share type Can be accessed concurrently by multiple instances Share access rules (ACL) Defines which clients can access the share Specified by IP in CIDR notation Share network Defines the Neutron network & subnet through which instances access the share A share can be associated with only one share network 10
Manila: Key Concepts (continued) Security service Finer-grained client access rules for Authn/z (e.g. LDAP, Active Directory, Kerberos) Share can be associated to multiple security services Snapshots Read-only copy of share contents New share can be created from a snapshot Backend Provider of shares; a share resides on a single backend Driver Vendor or technology-specific implementation of backend API 11
Manila: Architectural Overview Designed for highly available and scalable shared file services Manila is not in the data path! Control Path manila-api Exposes REST API through WSGI application Manila Processes REST Horizon manila-scheduler Makes provisioning decisions for share requests manila-scheduler manila-api manila-share Manager process + one process per backend Responsible for communicating with storage subsystems manila-share Driver manila-share Driver manila-share Driver 12
Manila: Network and Storage Multitenancy Supports a variety of strategies for diverse deployments Network Segmentation Storage Segmentation Manila Enablement Example Use Case Layer 3 (IP) Layer 3 (IP) Direct Replace custom service Customer PoC on existing equipment Layer 3 (IP) Layer 2 (VLAN, VXLAN, GRE, STT, etc) Single segment (e.g. VLAN) for all tenants Replace custom service Layer 2 (VLAN, VXLAN, GRE, STT, etc) Layer 3 (IP) Manila provides gateway Private cloud deployment Layer 2 (VLAN, VXLAN, GRE, STT, etc) Layer 2 (VLAN, VXLAN, GRE, STT, etc) Manila configures storage to join appropriate tenant layer 2 network Public cloud deployment 13
Drivers Manila The OpenStack Shared File Service Program 14
Manila Drivers A pluggable model for vendors and the community Reference Implementation Nova VM (from Glance image) hosts NFS, CIFS servers Cinder volume (of requested size) per share provides storage capacity NetApp clustered Data ONTAP EMC VNX Red Hat GlusterFS IBM GPFS (in review) HP (in development) More to come 15
NetApp s clustered Data ONTAP Manila Driver The worlds #1 storage OS is integrated with OpenStack Manila Driver points at an existing Clustered Data ONTAP deployment mount t nfs nova-compute nova-compute A new storage virtual machine (SVM) is created for each share network Create a new Data Logical Interface (LIF) with the VLAN tag set to same VLAN tag of the Neutron network associated with the share network manila create Manila Neutron NFS Access permissions are set at the controller for guests Control Path Data Path 16
Automation Manila The OpenStack Shared File Service Program 17
Automation for installation & configuration of Manila puppet-manila Puppet Module contributed by NetApp now on Stackforge 18
How does a customer use puppet-manila? Declare basic service parameters (DB connection, AMQP, etc) Declare other config key/value pairs Installs the API service, configured to use Keystone Installs Scheduler, Share packages from distro 19
How does puppet-manila configure/manage Manila? User or Tool creates or updates manifest Puppet parses and validates manifest according to module Install distributionspecific packages (e.g. RPMs, deb files) Creates/updates Manila configuration files per manifest declaration Start declared Manila processes Monitor process state, configuration files for state change; enforce declared state 20
Juno & Kilo Status Manila The OpenStack Shared File Service Program 21
What s new in Juno Officially an incubated OpenStack program (August 26 th, 2014)! Note: Manila repos are now under openstack Github organization puppet-manila now on stackforge Increased developer & admin documentation Removal of obsolete/unmaintained drivers (NetApp 7mode, LVM) Added concept of "share servers" with admin only APIs Added tempest integration and gate tests Remove a lot of utility code and replace it with Olso (significantly better Oslo integration) Improvements to existing APIs (better filtering, more details, etc) 22
Kilo Roadmap Manila Community Features Juno - Manila Core - SSC - Pools - Modular independence - Deployment Automation - Shift devstack - Puppet & Chef - Horizon shift - Deployer & Tenant facing documentation - Generic driver maintenance - Require CI Slave - Extend Tempest Coverage - Support all TC graduation requirements Kilo L M - Manila Core - SDN compatibilities - OVS bridge for non-sdn native backends - Replication - manage / unmanage - Backup - automated mounts - Generic driver maintenance - IPv6 Support - Consistency Groups - Enable Trove for Manila awareness - Deduplicate code via Oslo - Python 3 - Manila:core maintenance and features - Triple-O - Manila support at the undercloud - Generic driver maintenance - Service implemented QoS - investigation - Manila currency and new features - Generic driver maintenance - TBD Theme Manila Incubation Manila Graduation & Customer PoC Proliferate Manila 10/14 4/15 10/15 4/16 23
Getting Started Manila The OpenStack Shared File Service Program 24
How to get started with Manila Get involved with Manila! Devstack See our blog: http://netapp.github.io/openstack/2014/08/15/manila-devstack/ Distributions RDO RPMs are available now; Packstack integration coming soon OpenSUSE RPMs are available now; installer integration coming soon More to come IRC on Freenode #openstack-manila any time #openstack-meeting-alt at 15:00 UTC on Thursdays 25
Questions? Manila The OpenStack Shared File Service Program 26