diff --git a/doc/check-list.org b/doc/check-list.org deleted file mode 100644 index a2a7fd1..0000000 --- a/doc/check-list.org +++ /dev/null @@ -1,33 +0,0 @@ -Steps for installation and configuration of the manila: -* Installation -* Configuration -** DONE create user - openstack user create manila --password manila - openstack role add --user manila --project services admin -** DONE create service - openstack service create --name manila --description "OpenStack Shared Filesystems" share - openstack service create --name manilav2 --description "OpenStack Shared Filesystems" sharev2 -** DONE create endpoint - root@node-1:~/manila# export adminurl=$(openstack endpoint show cinder| awk '/adminurl/ {print $4}'|cut -d':' -f2|sed s/'\/'//g) - root@node-1:~/manila# export internalurl=$(openstack endpoint show cinder| awk '/internalurl/ {print $4}'|cut -d':' -f2|sed s/'\/'//g) - root@node-1:~/manila# export publicurl=$(openstack endpoint show cinder| awk '/publicurl/ {print $4}'|cut -d':' -f2|sed s/'\/'//g) - root@node-1:~/manila# openstack endpoint create \ - --region RegionOne \ - --publicurl http://$publicurl:8786/v1/%\(tenant_id\)s \ - --internalurl http://$internalurl:8786/v1/%\(tenant_id\)s \ - --adminurl http://$adminurl:8786/v1/%\(tenant_id\)s \ - share - root@node-1:~/manila# openstack endpoint create \ - --region RegionOne \ - --publicurl http://$publicurl:8786/v2/%\(tenant_id\)s \ - --internalurl http://$internalurl:8786/v2/%\(tenant_id\)s \ - --adminurl http://$adminurl:8786/v2/%\(tenant_id\)s \ - sharev2 -** TODO install manila -** TODO make /var/log and init files -** TODO edit config -** TODO do db staff -** TODO iptables -* Notest -** Receive the puppet-manila module when the plugin is bulded -** DONE How to generate password in puppet? diff --git a/doc/instruction.txt b/doc/instruction.txt deleted file mode 100644 index fd28538..0000000 --- a/doc/instruction.txt +++ /dev/null @@ -1,293 +0,0 @@ -openstack user create manila --password manila - -openstack role add --user manila --project services admin - -openstack service create --name manila --description "OpenStack Shared Filesystems" share - -openstack service create --name manilav2 --description "OpenStack Shared Filesystems" sharev2 - -# repeat add user -openstack user create --password manila manila -openstack role add --project admin --user manila admin -openstack role add --project services --user manila admin -# - -public ip 10.109.8.3 -management/admin 10.109.6.3 -все ip 10.109.6.3 - -myssql root lA8IijEzVljUy9pRuS87O1MQ - --publicurl http://%controller%:8786/v1/%\(tenant_id\)s \ - - -cat /etc/haproxy/conf.d/071-manila-api.cfg - -listen manila-api - bind 10.109.6.3:8786 - bind 10.109.8.3:8786 - http-request set-header X-Forwarded-Proto https if { ssl_fc } - option httpchk - option httplog - option httpclose - server node-1 10.109.6.4:8786 check inter 10s fastinter 2s downinter 3s rise 3 fall 3 - - - openstack endpoint create \ - --region RegionOne \ - --publicurl http://10.109.8.3:8786/v1/%\(tenant_id\)s \ - --internalurl http://10.109.6.3:8786/v1/%\(tenant_id\)s \ - --adminurl http://10.109.6.3:8786/v1/%\(tenant_id\)s \ - share - - - openstack endpoint create \ - --region RegionOne \ - --publicurl http://10.109.8.3:8786/v2/%\(tenant_id\)s \ - --internalurl http://10.109.6.3:8786/v2/%\(tenant_id\)s \ - --adminurl http://10.109.6.3:8786/v2/%\(tenant_id\)s \ - sharev2 - -==== exp - - - - openstack endpoint create \ - --region RegionOne \ - --publicurl http://10.109.8.4:8786/v1/%\(tenant_id\)s \ - --internalurl http://10.109.8.4:8786/v1/%\(tenant_id\)s \ - --adminurl http://10.109.8.4:8786/v1/%\(tenant_id\)s \ - share - - openstack endpoint create \ - --region RegionOne \ - --publicurl http://10.109.8.4:8786/v2/%\(tenant_id\)s \ - --internalurl http://10.109.8.4:8786/v2/%\(tenant_id\)s \ - --adminurl http://10.109.8.4:8786/v2/%\(tenant_id\)s \ - sharev2 - -openstack service create --name novav2 --description "Openstack Compute Service v2" computev2 - - openstack endpoint create \ - --region RegionOne \ - --publicurl http://10.109.8.3:8774/v2.1 \ - --internalurl http://10.109.6.3:8774/v2.1 \ - --adminurl http://10.109.6.3:8774/v2.1 \ - novav2 - - - - -curl -i \ - -H "Content-Type: application/json" \ - -d ' -{ - "auth": { - "identity": { - "methods": [ - "password" - ], - "password": { - "user": { - "name": "manila", - "domain": { - "id": "default" - }, - "password": "manila" - } - } - } - } -}' \ - http://10.109.6.3:5000/v3/auth/tokens; echo - - stack@ubuntu:~/devstack$ openstack endpoint show nova -+--------------+----------------------------------+ -| Field | Value | -+--------------+----------------------------------+ -| adminurl | http://10.109.0.4:8774/v2.1 | -| enabled | True | -| id | 611a2c81e3144d82b1a16c8e02074596 | -| internalurl | http://10.109.0.4:8774/v2.1 | -| publicurl | http://10.109.0.4:8774/v2.1 | -| region | RegionOne | -| service_id | 248f75021a284a80958dd193c9cb0120 | -| service_name | nova | -| service_type | compute | - -root@node-1:~# openstack endpoint show novav2 -+--------------+----------------------------------+ -| Field | Value | -+--------------+----------------------------------+ -| adminurl | http://10.109.6.3:8774/v2.1 | -| enabled | True | -| id | 5497610850924e4b84836d45e1af507f | -| internalurl | http://10.109.6.3:8774/v2.1 | -| publicurl | http://10.109.8.3:8774/v2.1 | -| region | RegionOne | -| service_id | b6e0ef86a9c14cd9b23637d5ac23709c | -| service_name | novav2 | -| service_type | computev2 | -+--------------+----------------------------------+ - -================================================= -Second attempt - -#+BEGIN_SRC sh - - -root@node-1:~# . openrc -root@node-1:~# apt-get install git python-pip -root@node-1:~# git clone -b stable/mitaka https://github.com/openstack/manila -root@node-1:~# cd manila -root@node-1:~/manila# python setup.py install -root@node-1:~/manila# pip install python-manilaclient>=1.8.1 -root@node-1:~/manila# openstack user create manila --password manila -root@node-1:~/manila# openstack role add --user manila --project services admin -root@node-1:~/manila# openstack service create --name manila --description "OpenStack Shared Filesystems" share -root@node-1:~/manila# openstack service create --name manilav2 --description "OpenStack Shared Filesystems" sharev2 -root@node-1:~/manila# export adminurl=$(openstack endpoint show cinder| awk '/adminurl/ {print $4}'|cut -d':' -f2|sed s/'\/'//g) -root@node-1:~/manila# export internalurl=$(openstack endpoint show cinder| awk '/internalurl/ {print $4}'|cut -d':' -f2|sed s/'\/'//g) -root@node-1:~/manila# export publicurl=$(openstack endpoint show cinder| awk '/publicurl/ {print $4}'|cut -d':' -f2|sed s/'\/'//g) -root@node-1:~/manila# openstack endpoint create \ - --region RegionOne \ - --publicurl http://$publicurl:8786/v1/%\(tenant_id\)s \ - --internalurl http://$internalurl:8786/v1/%\(tenant_id\)s \ - --adminurl http://$adminurl:8786/v1/%\(tenant_id\)s \ - share -root@node-1:~/manila# openstack endpoint create \ - --region RegionOne \ - --publicurl http://$publicurl:8786/v2/%\(tenant_id\)s \ - --internalurl http://$internalurl:8786/v2/%\(tenant_id\)s \ - --adminurl http://$adminurl:8786/v2/%\(tenant_id\)s \ - sharev2 -root@node-1:~/manila# cp -r etc/manila/ /etc -root@node-1:~/manila# apt-get install python-dev python-tox libpq-dev libffi-dev -root@node-1:~/manila# tox -e genconfig -root@node-1:~/manila# cp etc/manila/manila.conf.sample /etc/manila/manila.conf -root@node-1:~/manila# mysql -uroot -ppass -mysql> create user manila@localhost IDENTIFIED BY 'manila'; -mysql> create user manila@'%' IDENTIFIED BY 'manila'; -mysql> CREATE DATABASE manila CHARACTER SET utf8; -mysql> grant all privileges on manila.* to manila@localhost; -mysql> grant all privileges on manila.* to manila@'%'; -mysql> FLUSH PRIVILEGES; -root@node-1:~/manila# mkdir /var/lib/manila; mkdir /var/lib/manila/data; mkdir /var/lib/manila/tmp; mkdir /var/log/manila -root@node-1:~/manila# emacs /etc/manila.conf and do some configuration. As examle -[DEFAULT] -api_paste_config = /etc/manila/api-paste.ini -state_path = /var/lib/manila -osapi_share_extension = manila.api.contrib.standard_extensions -default_share_type = default_share_type -rootwrap_config = /etc/manila/rootwrap.conf -auth_strategy = keystone -enabled_share_backends = london -enabled_share_protocols = NFS,CIFS -share_name_template = share-%s -scheduler_driver = manila.scheduler.drivers.filter.FilterScheduler -debug = true -logging_context_format_string = %(asctime)s.%(msecs)d %(color)s%(levelname)s %(name)s %(request_id)s %(user_id)s %(project_id)s%(color)s] %(instance)s%(color)s%(message)s -logging_default_format_string = %(asctime)s.%(msecs)d %(color)s%(levelname)s %(name)s -%(color)s %(instance)s%(color)s%(message)s -logging_debug_format_suffix = from (pid=%(process)d) %(funcName)s %(pathname)s:%(lineno)d -logging_exception_prefix = %(color)s%(asctime)s.%(msecs)d TRACE %(name)s %(instance)s -rpc_backend = rabbit -[cinder] -auth_url = http://10.109.1.3:35357/ -auth_type = password -password = cFZitpwOM22hCs8YoCLeH6MQ -project_domain_id = default -project_name = services -user_domain_id = default -username = cinder -[cors] -[cors.subdomain] -[database] -connection = mysql+pymysql://manila:manila@10.109.1.3/manila?charset=utf8 -[keystone_authtoken] -auth_uri = http://10.109.1.3:5000/ -signing_dir = /tmp/keystone-signing-manila -memcached_servers = 10.109.1.4:11211 -admin_password=manila -admin_tenant_name=services -identity_uri=http://10.109.1.3:5000/ -admin_user=manila -signing_dirname=/tmp/keystone-signing-manila -[matchmaker_redis] -[neutron] -auth_url = http://10.109.1.3:35357/ -auth_type = password -password=bq5QOEPgvT1ecdudDe6KMbuO -project_domain_id = default -project_domain_name=Default -project_name = services -user_domain_id = default -username = neutron -[nova] -auth_url = http://10.109.1.3:35357/ -auth_type = password -password = 5CJaEKPzeuCgP29D000DTo7p -project_domain_id = default -project_name = services -user_domain_id = default -username = nova -[oslo_concurrency] -lock_path = /var/lib/manila/tmp -[oslo_messaging_amqp] -[oslo_messaging_notifications] -[oslo_messaging_rabbit] -amqp_durable_queues = False -rabbit_hosts = 10.109.1.4:5673 -rabbit_use_ssl = False -rabbit_userid = nova -rabbit_password = VmwPkVBf0vdBmZsc8jKIumsa -rabbit_virtual_host = / -rabbit_ha_queues = True -heartbeat_rate = 2 -[oslo_middleware] -[oslo_policy] -[london] -share_driver = manila.share.drivers.generic.GenericShareDriver -driver_handles_share_servers = True -service_instance_password = manila -service_instance_user = manila -service_image_name = manila-service-image -path_to_private_key = /root/.ssh/id_rsa -path_to_public_key = /root/.ssh/id_rsa.pub -share_backend_name = LONDON - -root@node-1:~/manila# ssh-keygen -t rsa -root@node-1:~/manila# manila-manage db sync -root@node-1:~/manila# emacs /etc/haproxy/conf.d/071-manila-api.cfg like -listen manila-api - bind 10.109.1.3:8786 #b_management ip - bind 10.109.3.3:8786 #b_public ip - http-request set-header X-Forwarded-Proto https if { ssl_fc } - option httpchk - option httplog - option httpclose - server node-1 10.109.1.4:8786 check inter 10s fastinter 2s downinter 3s rise 3 fall 3 # br-mgmt ip -root@node-1:~/manila# crm resource restart p_haproxy -root@node-1:~/manila# iptables -A INPUT -p tcp -m multiport --ports 8786 -m comment --comment "8786 manila-api" -j ACCEPT -root@node-1:~/manila# manila-api --config-file /etc/manila/manila.conf 2>&1 | tee /var/log/manila/manila-api.log -root@node-1:~/manila# manila type-create default_share_type True -root@node-1:~/manila# manila-scheduler --config-file /etc/manila/manila.conf 2>&1 | tee /var/log/manila/manila-scheduler.log -root@node-1:~/manila# manila-share --config-file /etc/manila/manila.conf 2>&1 | tee /var/log/manila/manila-share.log -root@node-1:~/manila# manila-data --config-file /etc/manila/manila.conf 2>&1 | tee /var/log/manila/manila-data.log -root@node-1:~/manila# export net_uid=$(neutron net-list|grep internal|cut -f2 -d' ') -root@node-1:~/manila# export subnet_uid=$(neutron net-list|grep internal|cut -f6 -d' ') -root@node-1:~/manila# manila share-network-create \ - --name test_share_network \ - --neutron-net-id $net_uid \ - --neutron-subnet-id $subnet_uid -root@node-1:~/manila# cd ~ -root@node-1:~# git clone https://github.com/openstack/manila-image-elements.git -root@node-1:~/manila-image-elements# apt-get install debootstrap -root@node-1:~/manila-image-elements# tox -e buildimage -root@node-1:~/manila-image-elements# glance image-create --name manila-service-image\ - --container-format bare --disk-format qcow2 --file ./manila-service-image.qcow2 --visibility public -root@node-1:~/manila-image-elements# openstack flavor create manila-service-flavor --id 100 --ram 256 --disk 0 --vcpus 1 -root@node-1:~/manila-image-elements# manila create NFS 1 --name testshare --share-network test_share_network -root@node-1:~/manila-image-elements# -root@node-1:~/manila-image-elements# - -#+END_SRC diff --git a/doc/todo.org b/doc/todo.org deleted file mode 100644 index b1357d4..0000000 --- a/doc/todo.org +++ /dev/null @@ -1,2 +0,0 @@ -* fix installation of pycrypto. Now it installs via pip. Build deb within the plugin -* remove dirty hack from haproxy.pp diff --git a/doc/user_guide/Makefile b/doc/user_guide/Makefile new file mode 100644 index 0000000..dd01029 --- /dev/null +++ b/doc/user_guide/Makefile @@ -0,0 +1,224 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source + +.PHONY: help +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " pdf to make pdf with rst2pdf" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" + +.PHONY: clean +clean: + rm -rf $(BUILDDIR)/* + +.PHONY: html +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +.PHONY: dirhtml +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +.PHONY: singlehtml +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +.PHONY: pickle +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +.PHONY: json +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +.PHONY: htmlhelp +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +.PHONY: qthelp +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/DetachRabbitMQpluginforFuel.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/DetachRabbitMQpluginforFuel.qhc" + +.PHONY: applehelp +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + +.PHONY: devhelp +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/DetachRabbitMQpluginforFuel" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/DetachRabbitMQpluginforFuel" + @echo "# devhelp" + +.PHONY: epub +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +.PHONY: latex +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +.PHONY: pdf +pdf: + $(SPHINXBUILD) -b pdf $(ALLSPHINXOPTS) $(BUILDDIR)/pdf + @echo + @echo "Build finished. The PDFs are in $(BUILDDIR)/pdf." + + +.PHONY: latexpdf +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: latexpdfja +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: text +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +.PHONY: man +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +.PHONY: texinfo +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +.PHONY: info +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +.PHONY: gettext +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +.PHONY: changes +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +.PHONY: linkcheck +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +.PHONY: doctest +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +.PHONY: coverage +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + +.PHONY: xml +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +.PHONY: pseudoxml +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/doc/user_guide/source/appendix.rst b/doc/user_guide/source/appendix.rst new file mode 100644 index 0000000..5036874 --- /dev/null +++ b/doc/user_guide/source/appendix.rst @@ -0,0 +1,10 @@ +.. _links: + +Links +~~~~~ + +For more information about the software discussed in this document, see the following links: + +* The Manila wiki `page `__. +* The Manila plugin for Fuel `repository `__. +* The LaunchPad project `URL `__ used to report bugs found in the plugin. diff --git a/doc/user_guide/source/conf.py b/doc/user_guide/source/conf.py new file mode 100644 index 0000000..67c541b --- /dev/null +++ b/doc/user_guide/source/conf.py @@ -0,0 +1,340 @@ +# -*- coding: utf-8 -*- +# +# plugin name documentation build configuration file, created by +# sphinx-quickstart on Wed Oct 7 12:48:35 2015. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# 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', +# 'sphinx.ext.coverage', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Fuel Manila plugin' +copyright = u'2016, Mirantis Inc.' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '1.0.0' +# The full version, including alpha/beta/rc tags. +release = '1.0-1.0.0-1' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = [] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'NAME-doc' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + ('index', 'FuelManilaUserGuide.tex', u'Manila plugin for Fuel User Guide', + u'Mirantis Inc.', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + +# make latex stop printing blank pages between sections +# http://stackoverflow.com/questions/5422997/sphinx-docs-remove-blank-pages-from-generated-pdfs +latex_elements = { 'classoptions': ',openany,oneside', 'babel' : '\\usepackage[english]{babel}' } + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'fuel-plugin-manila', u'Guide to the Manila Plugin ver. 1.0-1.0.0-1 for Fuel', + [u'Mirantis Inc.'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'FuelManilaUserGuide', u'Manila Plugin for Fuel User Guide', + u'Mirantis Inc.', 'FuelManilaUserGuide', 'Manila Plugin for Fuel User Guide', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + +# Insert footnotes where they are defined instead of +# at the end. +pdf_inline_footnotes = True + + + +# -- Options for Epub output ---------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = u'Manila Plugin for Fuel' +epub_author = u'Mirantis Inc.' +epub_publisher = u'Mirantis Inc.' +epub_copyright = u'2016, Mirantis Inc.' + +# The basename for the epub file. It defaults to the project name. +#epub_basename = u'fuel-plugin-openbook' + +# The HTML theme for the epub output. Since the default themes are not optimized +# for small screen space, using the same theme for HTML and epub output is +# usually not wise. This defaults to 'epub', a theme designed to save visual +# space. +#epub_theme = 'epub' + +# The language of the text. It defaults to the language option +# or en if the language is not set. +#epub_language = '' + +# The scheme of the identifier. Typical schemes are ISBN or URL. +#epub_scheme = '' + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +#epub_identifier = '' + +# A unique identification for the text. +#epub_uid = '' + +# A tuple containing the cover image and cover page html template filenames. +#epub_cover = () + +# A sequence of (type, uri, title) tuples for the guide element of content.opf. +#epub_guide = () + +# HTML files that should be inserted before the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_pre_files = [] + +# HTML files shat should be inserted after the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_post_files = [] + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# The depth of the table of contents in toc.ncx. +#epub_tocdepth = 3 + +# Allow duplicate toc entries. +#epub_tocdup = True + +# Choose between 'default' and 'includehidden'. +#epub_tocscope = 'default' + +# Fix unsupported image types using the PIL. +#epub_fix_images = False + +# Scale large images. +#epub_max_image_width = 0 + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#epub_show_urls = 'inline' + +# If false, no index is generated. +#epub_use_index = True diff --git a/doc/user_guide/source/configure.rst b/doc/user_guide/source/configure.rst new file mode 100644 index 0000000..195628c --- /dev/null +++ b/doc/user_guide/source/configure.rst @@ -0,0 +1,52 @@ +.. _pg-configure: + +Configure Manila plugin for Fuel +-------------------------------- + +Configuring and deploying an environment with Manila plugin for Fuel involves +creating an environment in Fuel and modifying the environment settings. + +**To configure OpenStack environment with Manila plugin:** + +#. Create an OpenStack environment as described in the `Fuel User Guide `_: + +#. In the :guilabel:`Additional services` menu, select :guilabel:`Install Manila`: + + .. figure:: static/additional.png + :width: 90% + + .. raw:: latex + + \pagebreak + +#. Follow next steps of the `Create a new OpenStack + environment `_ +instruction. + +#. In the :guilabel:`Nodes` tab of the Fuel web UI `add + `_ + at least one node with roles manila-share and manila-data: + + .. figure:: static/nodes.png + :width: 90% + + .. raw:: latex + + \pagebreak + +#. In the :guilabel:`Settings` tab, click :guilabel:`OpenStack Serivces`: + + #. Check that :guilabel:`Enable Manila service` is enabled. + #. Set the choosend backend for Manila. + + #. For generic driver specify the :guilabel:`Image name` exactly same as + you set on the plugin installation stage. + #. For NetApp driver specify hostname, credential and parameters related + to your environment. + + .. figure:: static/config.png + :width: 90% + + .. raw:: latex + + \pagebreak diff --git a/doc/user_guide/source/description.rst b/doc/user_guide/source/description.rst new file mode 100644 index 0000000..ab85d86 --- /dev/null +++ b/doc/user_guide/source/description.rst @@ -0,0 +1,66 @@ +.. _overview: + +Overview of the Manila plugin for Fuel +-------------------------------------- + +The purpose of this document is to describe how to install, configure and use +the Manila plugin 1.0.0 for Fuel 9.1 + +The Manila is the OpenStack project that provides "File Sharing as a Service". +Main goal of the project is providing coordinated access to shared or +distributed file systems to OpenStack Compute instances. But as a many other +OpenStack services it can be used independently according to modular design +established by OpenStack. + +The Manila based on that principes: + +* Component based architecture: Quickly add new behaviors + +* Highly available: Scale to very serious workloads + +* Fault-Tolerant: Isolated processes avoid cascading failures + +* Recoverable: Failures should be easy to diagnose, debug, and rectify + +* Open Standards: Be a reference implementation for a community-driven api + +* API Compatibility: Manila strives to provide API-compatible with popular + systems like Amazon EC2 + +This plugin brings features of Manila into Mirantis OpenStack. + + +.. _pg-requirements: + +Software prerequisites +---------------------- + +To use the Manila plugin for Fuel 9.1, verify that your environment meets +the following prerequisites: + +======================= ================================= +Prerequisites Version/Comment +======================= ================================= +Fuel 9.1 +manila-service-image last +NetApp® ONTAP® 8 or later +======================= ================================= + +The manila-service image is the service image for generic driver. It should be +build from https://github.com/openstack/manila-image-elements. + + .. raw:: latex + + \pagebreak + + +Limitations +----------- + +The Manila plugin for Fuel 9.1 has some known issues/limitations of usage: + +* Manila CLI response with warnings if specific configuration + https://bugs.launchpad.net/fuel-plugin-manila/+bug/1633018 + +* Manila services uses publicURL instead of internalURL + https://bugs.launchpad.net/fuel-plugin-manila/+bug/1633456 diff --git a/doc/user_guide/source/index.rst b/doc/user_guide/source/index.rst new file mode 100644 index 0000000..c3ec3fe --- /dev/null +++ b/doc/user_guide/source/index.rst @@ -0,0 +1,29 @@ +=============================================== +Guide to the Manila plugin for Fuel 1.0-1.0.0-1 +=============================================== + +Overview +~~~~~~~~ + +.. toctree:: + :maxdepth: 1 + + description + licenses + +Install and configure Manila plugin for Fuel +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. toctree:: + :maxdepth: 1 + + installation + configure + +Use Manila plugin for Fuel +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. toctree:: + :maxdepth: 1 + + appendix diff --git a/doc/user_guide/source/installation.rst b/doc/user_guide/source/installation.rst new file mode 100644 index 0000000..95f9db0 --- /dev/null +++ b/doc/user_guide/source/installation.rst @@ -0,0 +1,98 @@ + +.. _pg-install: + +Install Manila plugin for Fuel +------------------------------ + +Before you install Manila plugin for Fuel 9.1, verify that your environment +meets the requirements described in :ref:`pg-requirements`. You must have +the Fuel Master node installed and configured before you can install +the plugin. This plugin is hotpluggable, so you can install the Manila plugin +for Fuel after you deploy an OpenStack environment. + +**To install Manila plugin for Fuel:** + +#. Download Manila plugin for Fuel from the `Fuel Plugins Catalog`_. + +#. Copy the plugin ``.rpm`` package to the Fuel Master node: + + **Example:** + + .. code-block:: console + + # scp fuel-plugin-manila-1.0-1.0.0-1.noarch.rpm root@fuel-master:/tmp + +#. Copy the manila-service-vm iso to the Fuel Master node: + + **Example:** + + .. code-block:: console + + # scp manila-service-image.qcow2 root@fuel-master:/tmp + +#. Log into Fuel Master node CLI as root. + +#. Set path to manila service image into environment variable MANILA_IMAGE + + **Example:** + + .. code-block:: console + + # export MANILA_IMAGE=/tmp/manila-service-image.qcow2 + +#. Install the plugin by typing: + + .. code-block:: console + + # fuel plugins --install fuel-plugin-manila-1.0-1.0.0-1.noarch.rpm + +#. Verify that the plugin is installed correctly: + + .. code-block:: console + + # fuel plugins + id | name | version | package_version + ---|------------ ---|---------|---------------- + 1 | fuel-plugin-manila | 1.0.0 | 4.0.0 + + + .. raw:: latex + + \pagebreak + + +Uninstall Manila plugin for Fuel +-------------------------------- + +To uninstall Manila plugin for fuel, follow the steps below: + +#. Log in to the Fuel Master node CLI + +#. Delete all environments in which Manila plugin for Fuel is enabled: + + **Example:** + + .. code-block:: console + + # fuel --env env delete + +3. Uninstall the plugin: + + .. code-block:: console + + # fuel --plugins --remove fuel-plugin-manila==1.0.0 + +4. Verify wheter the Manila plugin for Fuel was uninstalled successfully: + + .. code-block:: console + + # fuel plugins + + +Proceed to :ref:`pg-configure`. + +.. _Fuel Plugins Catalog: https://www.mirantis.com/products/openstack-drivers-and-plugins/fuel-plugins/ + + .. raw:: latex + + \pagebreak diff --git a/doc/user_guide/source/licenses.rst b/doc/user_guide/source/licenses.rst new file mode 100644 index 0000000..f2af4ef --- /dev/null +++ b/doc/user_guide/source/licenses.rst @@ -0,0 +1,10 @@ +.. _pg-license: + +Licenses +======== + +====================== ============= +**Component** **License** +====================== ============= +Manila plugin for Fuel Apache 2.0 +====================== ============= diff --git a/doc/user_guide/source/static/additional.png b/doc/user_guide/source/static/additional.png new file mode 100644 index 0000000..8eca0ad Binary files /dev/null and b/doc/user_guide/source/static/additional.png differ diff --git a/doc/user_guide/source/static/config.png b/doc/user_guide/source/static/config.png new file mode 100644 index 0000000..4a1024b Binary files /dev/null and b/doc/user_guide/source/static/config.png differ diff --git a/doc/user_guide/source/static/nodes.png b/doc/user_guide/source/static/nodes.png new file mode 100644 index 0000000..b4cc3ec Binary files /dev/null and b/doc/user_guide/source/static/nodes.png differ