[config-ref] Migrate ch_sharedfilesystemsconfigure.xml to RST

This patch includes a new extension to deal with inclusion of remote
files.

Change-Id: I56e523c0b41c3281f7c68ee4a1a332a19ff77833
Implements: blueprint config-ref-rst
This commit is contained in:
Gauvain Pocentek 2015-11-25 08:38:23 +01:00
parent 4689cf4c9e
commit 384f8897c7
19 changed files with 331 additions and 2 deletions

View File

@ -21,7 +21,9 @@
# serve to show the default.
import os
# import sys
import sys
sys.path.append(os.path.dirname(__file__))
import openstackdocstheme
@ -38,7 +40,7 @@ import openstackdocstheme
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
# extensions = ['sphinx.ext.todo']
extensions = ['ext.remote']
# Add any paths that contain templates here, relative to this directory.
# templates_path = ['_templates']

View File

@ -0,0 +1,32 @@
#!/usr/bin/env python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import requests
from sphinx.directives import code
class RemoteCodeBlock(code.CodeBlock):
def run(self):
r = requests.get(self.content[0])
if r.status_code != 200:
raise Exception
self.content = [r.text]
return super(RemoteCodeBlock, self).run()
def setup(app):
app.add_directive('remote-code-block', RemoteCodeBlock)

View File

@ -2,6 +2,14 @@
Shared File Systems
===================
The Shared File Systems service works with many different drivers that
you can configure by using these instructions.
.. toctree::
shared-file-systems/overview.rst
shared-file-systems/drivers.rst
shared-file-systems/log-files.rst
shared-file-systems/sample-configuration-files.rst
shared-file-systems/misc.rst
tables/conf-changes/manila.rst

View File

@ -0,0 +1,29 @@
=============
Share drivers
=============
.. toctree::
drivers/emc-isilon-driver.rst
drivers/emc-vnx-driver.rst
drivers/generic-driver.rst
drivers/glusterfs-driver.rst
drivers/glusterfs-native-driver.rst
drivers/hdfs-native-driver.rst
drivers/hpe-3par-share-driver.rst
drivers/huawei-nas-driver.rst
drivers/ibm-gpfs-driver.rst
drivers/netapp-cluster-mode-driver.rst
To use different share drivers for the Shared File Systems service, use the
parameters described in these sections.
The share drivers are included in the `Shared File Systems repository
<https://git.openstack.org/cgit/openstack/manila/tree/manila/share/drivers>`_.
To set a share driver, use the ``share_driver`` flag. For example, to
use the generic reference driver:
.. code-block:: ini
share_driver = manila.share.drivers.generic.GenericShareDriver

View File

@ -0,0 +1,3 @@
=================
EMC Isilon driver
=================

View File

@ -0,0 +1,3 @@
==============
EMC VNX driver
==============

View File

@ -0,0 +1,3 @@
=======================================
Generic approach for share provisioning
=======================================

View File

@ -0,0 +1,3 @@
================
GlusterFS driver
================

View File

@ -0,0 +1,3 @@
=======================
GlusterFS native driver
=======================

View File

@ -0,0 +1,3 @@
==================
HDFS native driver
==================

View File

@ -0,0 +1,3 @@
===============
HPE 3PAR driver
===============

View File

@ -0,0 +1,3 @@
=============
Huawei driver
=============

View File

@ -0,0 +1,3 @@
===============
IBM GPFS driver
===============

View File

@ -0,0 +1,3 @@
==================================
NetApp Clustered Data ONTAP driver
==================================

View File

@ -0,0 +1,27 @@
=====================================
Log files used by Shared File Systems
=====================================
The corresponding log file of each Shared File Systems service is stored
in the ``/var/log/manila/`` directory of the host on which each service
runs.
.. list-table:: Log files used by Shared File Systems services
:header-rows: 1
* - Log file
- Service/interface (for CentOS, Fedora, openSUSE, Red Hat Enterprise
Linux, and SUSE Linux Enterprise)
- Service/interface (for Ubuntu and Debian)
* - ``api.log``
- ``openstack-manila-api``
- ``manila-api``
* - ``manila-manage.log``
- ``manila-manage``
- ``manila-manage``
* - ``scheduler.log``
- ``openstack-manila-scheduler``
- ``manila-scheduler``
* - ``share.log``
- ``openstack-manila-share``
- ``manila-share``

View File

@ -0,0 +1,69 @@
=====================
Configuration options
=====================
These following options can be set in the ``manila.conf`` file.
.. include:: ../tables/manila-amqp.rst
.. include:: ../tables/manila-api.rst
.. include:: ../tables/manila-auth_token.rst
.. include:: ../tables/manila-auth.rst
.. include:: ../tables/manila-ca.rst
.. include:: ../tables/manila-common.rst
.. include:: ../tables/manila-compute.rst
.. include:: ../tables/manila-cors.rst
.. include:: ../tables/manila-database.rst
.. include:: ../tables/manila-emc.rst
.. include:: ../tables/manila-ganesha.rst
.. include:: ../tables/manila-glusterfs.rst
.. include:: ../tables/manila-gpfs.rst
.. include:: ../tables/manila-hdfs.rst
.. include:: ../tables/manila-hds_hnas.rst
.. include:: ../tables/manila-hp3par.rst
.. include:: ../tables/manila-huawei.rst
.. include:: ../tables/manila-logging.rst
.. include:: ../tables/manila-netapp.rst
.. include:: ../tables/manila-qpid.rst
.. include:: ../tables/manila-quobyte.rst
.. include:: ../tables/manila-quota.rst
.. include:: ../tables/manila-rabbitmq.rst
.. include:: ../tables/manila-redis.rst
.. include:: ../tables/manila-rpc.rst
.. include:: ../tables/manila-san.rst
.. include:: ../tables/manila-scheduler.rst
.. include:: ../tables/manila-share.rst
.. include:: ../tables/manila-storage.rst
.. include:: ../tables/manila-winrm.rst
.. include:: ../tables/manila-zeromq.rst
.. include:: ../tables/manila-zfssa.rst

View File

@ -0,0 +1,83 @@
===============================================
Introduction to the Shared File Systems service
===============================================
The Shared File Systems service provides shared file systems that
Compute instances can consume.
The Shared File Systems service provides:
- ``manila-api``. A WSGI app that authenticates and routes requests
throughout the Shared File Systems service. It supports the OpenStack
APIs.
- ``manila-scheduler``. Schedules and routes requests to the appropriate
share service. The scheduler uses configurable filters and weighers
to route requests. The Filter Scheduler is the default and enables
filters on things like Capacity, Availability Zone, Share Types, and
Capabilities as well as custom filters.
- ``manila-share``. Manages back-end devices that provide shared file
systems. A manila-share service can run in one of two modes, with or
without handling of share servers. Share servers export file shares
via share networks. When share servers are not used, the networking
requirements are handled outside of Manila.
The Shared File Systems service contains the following components:
**Back-end storage devices**
The Shared File Services service requires some form of back-end shared file
system provider that the service is built on. The reference implementation
uses the Block Storage service (Cinder) and a service VM to provide shares.
Additional drivers are used to access shared file systems from a variety of
vendor solutions.
**Users and tenants (projects)**
The Shared File Systems service can be used by many different cloud
computing consumers or customers (tenants on a shared system), using
role-based access assignments. Roles control the actions that a user is
allowed to perform. In the default configuration, most actions do not
require a particular role unless they are restricted to administrators, but
this can be configured by the system administrator in the appropriate
``policy.json`` file that maintains the rules. A user's access to manage
particular shares is limited by tenant. Guest access to mount and use shares
is secured by IP and/or user access rules. Quotas used to control resource
consumption across available hardware resources are per tenant.
For tenants, quota controls are available to limit:
- The number of shares that can be created.
- The number of gigabytes that can be provisioned for shares.
- The number of share snapshots that can be created.
- The number of gigabytes that can be provisioned for share
snapshots.
- The number of share networks that can be created.
You can revise the default quota values with the Shared File Systems
CLI, so the limits placed by quotas are editable by admin users.
**Shares, snapshots, and share networks**
The basic resources offered by the Shared File Systems service are shares,
snapshots and share networks:
**Shares**
A share is a unit of storage with a protocol, a size, and an access list.
Shares are the basic primitive provided by Manila. All shares exist on a
backend. Some shares are associated with share networks and share
servers. The main protocols supported are NFS and CIFS, but other
protocols are supported as well.
**Snapshots**
A snapshot is a point in time copy of a share. Snapshots can only be
used to create new shares (containing the snapshotted data). Shares
cannot be deleted until all associated snapshots are deleted.
**Share networks**
A share network is a tenant-defined object that informs Manila about the
security and network configuration for a group of shares. Share networks
are only relevant for backends that manage share servers. A share network
contains a security service and network/subnet.

View File

@ -0,0 +1,49 @@
==============================================
Shared File Systems sample configuration files
==============================================
All the files in this section can be found in ``/etc/manila``.
manila.conf
-----------
The ``manila.conf`` file is installed in ``/etc/manila`` by default.
When you manually install the Shared File Systems service, the options
in the ``manila.conf`` file are set to default values.
The ``manila.conf`` file contains most of the options to configure the
Shared File Systems service.
.. literalinclude:: ../../../common/samples/manila.conf.sample
:language: ini
api-paste.ini
-------------
Use the ``api-paste.ini`` file to configure the Shared File Systems API
service.
.. remote-code-block:: ini
https://git.openstack.org/cgit/openstack/manila/plain/etc/manila/api-paste.ini
policy.json
-----------
The ``policy.json`` file defines additional access controls that apply
to the Shared File Systems service.
.. remote-code-block:: json
https://git.openstack.org/cgit/openstack/manila/plain/etc/manila/policy.json
rootwrap.conf
-------------
The ``rootwrap.conf`` file defines configuration values used by the
``rootwrap`` script when the Shared File Systems service must escalate
its privileges to those of the root user.
.. remote-code-block:: ini
https://git.openstack.org/cgit/openstack/manila/plain/etc/manila/rootwrap.conf