149 Commits

Author SHA1 Message Date
xing-yang
6c698bc8e3 Add dev doc for generic volume groups
This patch adds instructions for driver developers to add
consistent group snapshot support in generic volume groups.

Change-Id: I8a223e76f8a1601e636ae3905be097d1e19a94fb
2016-11-24 21:03:58 -05:00
Eric Harney
c64a9da338 Fix sphinx errors related to missing paths/modules
Remove/update paths/modules in docs that are no
longer valid.

Change-Id: I085d6d804927ab2d559bd8e9d0a95de84ddef2a0
2017-01-04 14:26:19 -05:00
Jenkins
9d7efcfd03 Merge "Add Apache 2.0 license to source file" 2016-12-20 21:25:25 +00:00
Jenkins
cd06286062 Merge "Rolling upgrade procedure documentation" 2016-12-16 17:04:57 +00:00
Michał Dulko
fc0034b385 Rolling upgrade procedure documentation
One of the requirements to achieve assert:supports-rolling-upgrade TC
tag is to provide a "plan that allows operators to roll out new code to
subsets of services, eliminating the need to restart all services on new
code simultaneously".

This commit documents such rolling upgrade procedure in the devref,
which is last outstanding requirement for Cinder.

Change-Id: I562deafcd4bb9f5666cc35ae77a6bf20ab889612
2016-12-16 11:03:56 +01:00
pangliye
88e91100cf Add Apache 2.0 license to source file
Source code should be licensed under the Apache 2.0 license.
All source files should have the licensing header.

Change-Id: I67df47560d87182265ec4fa973bddaf356829fc1
2016-12-14 02:17:04 +00:00
Jenkins
53677a0356 Merge "Switch default py3x to py35" 2016-12-12 17:15:52 +00:00
Sean McGinnis
ca0786778c Switch default py3x to py35
Per our conversation in the Cinder weekly meeting [1] we will
now switch to just running local tests against python 3.5 as
that is the more recent and common 3.x version available on new
distros. Other versions can still be run explicitly, but this
changes the default tox run to only use 3.5.

[1] http://eavesdrop.openstack.org/meetings/cinder/2016/cinder.2016-11-30-16.00.log.html#l-54

Change-Id: If2226cb229f016e36c4dfab6224d5ae353b926bb
2016-12-09 14:22:28 -06:00
Sean McGinnis
5d870b5621 Remove run_tests.sh wrapper
The run_tests.sh mechanism for performing operations
is no longer the preferred approach. It is now better
to just run tox. There are also issues with enforcing
upper constraints that may cause test runs to fail.

To get rid of confusion by having two different ways
to run unit tests, flake8 checks, etc., it's probably
better to just remove the run_tests.sh script completely
and direct folks to use tox instead. This way we are all
consistent and there is less concern that changes will
be made to one and not the other.

Change-Id: I03f4b49cffd9f64e4eb3bdc27995d543be9efa43
2016-12-09 14:15:54 -06:00
wangxiyuan
01357dc991 Update replication doc
Change-Id: Iecb039aaf6e8d69146c7ce58c34a1953184fea7d
2016-11-10 09:05:19 +08:00
ChangBo Guo(gcb)
dd0ab650c8 Adjust doc about threading
There are two ways to give other greenthread chance to run:
greenthread.sleep(0) or time.sleep(0). Add the second way in
threading.rst and recommend the first way for contributors.

Also, PyMySQL works well with eventlet [1], and it's the default MySQL
DB API driver for oslo.db now[2].
So adjust 'threading model' doc with such info.

[1] https://wiki.openstack.org/wiki/PyMySQL_evaluation
[2] http://docs.openstack.org/developer/oslo.db/installation.html

Change-Id: I1fcf7242a6794d74da16aa5f326887cfa7257a1b
2016-10-14 13:07:47 +08:00
Luong Anh Tuan
62a0df2339 Fix typo: remove redundant 'that'
Change-Id: Ib569ab8206ad2ddb2fd1ad43c7665f1450ad42e3
2016-10-03 13:32:45 +07:00
Dao Cong Tien
0217f47979 Fix typo in devref/api_conditional_updates.rst
Change-Id: I0cac2688e7fa764ddf353583113faca8aa2deb46
2016-09-29 11:38:42 +07:00
Michał Dulko
619d28bc45 Remove driver interface changes from reno devref
Updating reno guideline in devref to reflect latest discussion at the
IRC meeting:

<smcginnis> We really only need release notes for things that would be
good to tell deployers and end users.
<smcginnis> Internal technical details would just be confusing to most
of them, so they definitely should not have a RL.

This commit removes the line stating that we should add a release note
with the driver interfaces changes.

Change-Id: Ibcca37c85e544aa7783bc08cefd1833af87acd5d
2016-09-09 10:28:37 +02:00
Vipin Balachandran
80c25785e6 Driver documentation cleanup
Adding more details to volume driver interface documenation.

Change-Id: I79117625aa3b2d7adf57ddab7e5889bebb450176
2016-08-25 15:51:37 +05:30
Jenkins
78e75c5648 Merge "Enhance api_microversion doc" 2016-08-18 04:56:38 +00:00
Gorka Eguileor
3a7686fc6d Add CI_WIKI_NAME to driver's devref
The requirement to have CI_WIKI_NAME attribute in a driver is not
currently documented, which makes it harder for new drivers to know they
need to have this attribute.

This patch adds this requirement to the driver devref.

Change-Id: Ia49527c1ca15e3454e186fd6609794d87e630903
2016-08-16 13:34:13 +02:00
Cao ShuFeng
65531bf71e Enhance api_microversion doc
The api_version_request attribute of request should be the same
with http header.

TrivalFix

Change-Id: I1e607b8ef843e031c82dae41e174303e15ad9fce
2016-08-16 06:10:31 +00:00
Gorka Eguileor
5f0f752be8 Prevent doc generation failure on OVO decorators
Currently Sphinx will fail to generate the documentation if we are using
decorators from any OVO in cinder.objects, because the OVOs are only
added to the cinder.objects namespace when the CLI programs are run.

So we need to run `register_all` method during documentation generation
to avoid failures like:

    AttributeError: 'module' object has no attribute 'Volume'

This patch modifies autogenerated doc/source/conf.py file and since now
it is no longer completely autogenerated it is added to PEP8 checks,
which required some minor changes.

Change-Id: Ifeeef61a778f9e3f3daceba8ed05cd2036219499
2016-08-09 18:24:25 +02:00
Jenkins
8eb0c89307 Merge "Docs: Correct i18n information" 2016-08-03 02:57:30 +00:00
Jenkins
c47d38dc94 Merge "Add driver list to doc build" 2016-07-29 02:24:22 +00:00
Jenkins
d2baafc2a4 Merge "Docs: remove todo list generation" 2016-07-26 18:50:26 +00:00
Jenkins
eabd2e8718 Merge "Update doc README and remove old Makefile" 2016-07-26 18:50:03 +00:00
Jenkins
52ad7bcc75 Merge "Docs: cleanup doc8 errors" 2016-07-26 18:49:42 +00:00
Sean McGinnis
8148038e92 Add driver list to doc build
We have tox -e gendriverlist that outputs an RST-ish report of all drivers
in the tree. This output can be used in the docs build to automatically
publish the list of drivers to make it easier to find officially supported
drivers.

This effectively removes the existing drivers.html that was generated prior
that did not actually contain any useful information.

Change-Id: I8de78723af76aabcc976733ac4b248db0b8ca16f
2016-07-26 11:09:05 -05:00
Jenkins
53ac615273 Merge "Add interface documentation to driver devref" 2016-07-26 02:55:00 +00:00
Sean McGinnis
b9c5c978d9 Docs: Correct i18n information
The internationalization devref information was out of date from our current
practices. Updated to show the correct translation markers to use and fix
example showing bad practice of mismatches marker and pre-formatting of
message string.

Change-Id: I16c34704c338979bafc7f04474d6f3d427276bed
2016-07-25 12:47:35 -05:00
Sean McGinnis
3c18c6f440 Add interface documentation to driver devref
Link the docstring generated documentation for the driver interfaces into
the drivers devref page for easy access to driver method documentation.

Change-Id: Ie22599fef99ebfac12f3b9bb251ae5bdfff4bff6
2016-07-24 17:23:29 -05:00
Sean McGinnis
5abd344818 Docs: cleanup doc8 errors
Fix errors identified by doc8 other than D001 for lines too long.

Change-Id: If351030cd5add101a19be4b5b759f56ca49b92d0
2016-07-23 20:57:04 -05:00
Sean McGinnis
14f378a580 Docs: remove todo list generation
We had an extension for pulling out todo information from our docs. This
doesn't appear to have ever really been used though. Only a couple todo items
were published to the Cinder documentation, and the two published appear to
be extremely old.

Since this isn't really used and could just cause confusion, removing this
from the index page and removing the sphinx extension used to generate it.

Change-Id: I8993633538a5ee1687c4721bce3c520e8fb4ccfd
2016-07-23 18:15:42 -05:00
Sean McGinnis
8d9cad38e4 Update doc README and remove old Makefile
The information in the README file in the doc directory was very out of
date and the Makefile referenced in it doesn't appear to work any more.

Our preferred doc build method is to stay consistent with using tox -e docs,
so removing the legacy build information and providing better details for
doc development.

Change-Id: Ifd01b9cfc39fe99697a1669ecb5db6302359b662
2016-07-23 18:04:04 -05:00
Gorka Eguileor
a8edbd2e8d Improve api_version decorator to avoid noqa
Our existing `api_version` decorator for microversions forces us to use
"# noqa" if we have multiple microversions of a method in the same
class, providing no way around this.

This patch adds a way to avoid using noqa directive.  Previously we
would have:

 @wsgi.Controller.api_version("3.3")
 def my_api_method(self, req, id):
     .... method_1 ...

 @wsgi.Controller.api_version("3.4")  # noqa
 def my_api_method(self, req, id):
     .... method_2 ...

With this patch the second method does not require noqa anymore:

 @my_api_method.api_version("3.4")
 def my_api_method(self, req, id):
     .... method_2 ...

Devref is updated to reflect this new change and to mention that it is
the recommended way to do it.

Change-Id: I46283b52cc6a347d5deb0f57a123eba4e01a3eb2
Closes-Bug: #1599806
2016-07-22 10:27:26 +02:00
Vipin Balachandran
f01ae06084 Add README in release notes directory
This patch adds a README in release notes directory.

Change-Id: Ib1678d3a3c729cfec17466a05bb88416175c78d6
2016-07-01 19:03:26 +05:30
Jenkins
1cd90c646a Merge "Add test type clarification to devref" 2016-06-16 06:41:25 +00:00
Sean McGinnis
e7b40242f8 Add driver interface checks
This is the start of an effort to both validate that drivers fully
implement the expected minimum requirements as well as to create a clear
place for driver developers to learn what needs to be implemented and get
documentation explaining what is expected for each method.

This also enables us to create tooling for documenting the available
drivers and their capabilities, to some degree. A follow up patch will
show some of what I'm thinking there, but it will make it possible to write
scripts for different needs.

This is somewhat a cleanup attempt to the ABC work that was started a
while back. This does not aim to replace that effort, but give a
mechanism for some of the things expected out of that effort that ended
up not being possible with how it evolved.

In most cases we do not really care if a driver is inherited from a
certain base class, just that it conforms to the given interface.

The interface/inheritance work really centers around two separate
things:

 * Ensuring drivers conform to an expected interface
 * Allowing code reuse and common implementation

This is really for the first item. Additional work is needed to complete
the ABC work we've done, but that really focuses on the second item, and
is out of scope for the intent of this patch.

Change-Id: I4168225126fe88c31712d94f0a130e9e7ede3446
2016-06-13 15:21:47 +00:00
Sean McGinnis
61238e2e54 Add test type clarification to devref
We now have unit, functional, and tempest tests in tree. To avoid
confusion, we need to make sure it's clear what each of these test
types are intended to be used for.

This adds a description for each test type and cleans up some of
the documentation around testing in general.

Change-Id: I15bba187889e058adbf03deb4308a41d0a6248e3
2016-06-13 10:15:54 -05:00
Jenkins
b230cb743c Merge "Add sample config file to cinder docs" 2016-06-09 23:00:39 +00:00
Jenkins
9804d7376a Merge "Add error messages to conditional updates devref" 2016-06-09 17:11:07 +00:00
Gorka Eguileor
3c7a71e607 Add error messages to conditional updates devref
There was no mention in conditional updates devref on what kind of error
messages are we expected to return with conditional updates and why we
decided to go with generic errors instead of specific errors like we had
before.

Change-Id: I079a815a656ce5a5c0e05e2e20f26df6ea700547
2016-06-08 10:22:55 +02:00
Jenkins
42db20e90a Merge "Clean up man page and remove version/date" 2016-06-07 14:35:39 +00:00
Eric Brown
d64f5fc210 Clean up man page and remove version/date
This patch fixes the formatting of the man page and removes the
unnecessary maintenance of a date and version.

Change-Id: Idf78bbed44f942bb6976ccf4da67c748d9283ed9
2016-06-06 15:21:47 -07:00
Gorka Eguileor
6f63347eef Fix MySQL DB error in Delete CG
When running a delete CG operation on a MySQL DB engine we'll get an
error from the DB: "You can't specify target table 'consistencygroups'
for update in FROM clause".

This is caused by a non standard behavior only in MySQL, as SQLite and
PostgreSQL work as expected, on filter `cg_creating_from_src` that
checks that we are not using the CG we are trying to delete to create
another CG at this very moment, CGs that were previously created from
this CG are not considered.

This patch changes the way we perform the filter using a select subquery
as a workaround for MySQL unexpected behavior and updates devref to warn
about this unexpected MySQL behavior.

Change-Id: Ic10de411ffeceb00f1e8525906995bd8b2f49777
Closes-Bug: #1588487
2016-06-06 14:27:37 +02:00
Sean McGinnis
fcd7fcea3e Add sample config file to cinder docs
The oslo sphinxconfiggen module was added to the oslo.config
2.3.0 release. This enables config file generation as part of
the sphinx doc generation.

The generated config file will pick up the current config
options from the code base. And as an added bonus, it will
now be published to the docs.openstack.org site for easy
reference or download.

This also puts us inline with what other projects like Nova
are doing for sample config files and is the recommended
method from the Oslo team.

Change-Id: I912a97eb2686d3dc56e50d8641d7bd930179bc18
2016-05-17 08:52:21 -05:00
scottda
5e9a76e47f Make api_microversion_dev more explicit
Include information regarding both minimum and maximum versions
of the API microversion.

Change-Id: Ie3acdcbf323af40bdb4f3ff20fcf2d3e8eb9606d
Closes-Bug: #1582460
2016-05-17 07:28:26 -06:00
Gorka Eguileor
e4fb5aae59 Add devref for conditional updates
This patch adds developer's documentation for conditional update
functionality used to remove API races.

Change-Id: I63ce1c87f7418feba94479b461a4488d4ae6e48c
2016-05-05 18:07:14 +02:00
Alex Meade
53cfde43b8 User messages API for error cases
This patch implements basic user messages with the following APIs.
GET /messages
GET /messages/<message_id>
DELETE /messages/<message_id>

Implements : blueprint summarymessage

Co-Authored-By: Alex Meade <mr.alex.meade@gmail.com>
Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com>

Change-Id: Id8a4a700c1159be24b15056f401a2ea77804d0a0
2016-04-29 18:41:10 +00:00
Atsushi SAKAI
efac539b91 Fix 20 typos on devref
specifiy    => specify
mulit-part  => multi-part
analagous   => analogous
driver.intialize_connection => driver.initialize_connection
succesfully => successfully
Analagous   => Analogous
responsiblity => responsibility
standaredized => standardized
replciation => replication
speicfied   => specified
desireable  => desirable
occurr      => occur
transfered  => transferred
migraton    => migration
streching   => stretching
Documenation => Documentation

Change-Id: Id531e35457f592cccd963ae8b7d50553c7ffb62d
2016-04-22 18:29:36 +09:00
Sean McGinnis
8b24dc676e Fix minor typos in the migration devref
Noticed a few trivial typos while looking through the migration
devref that could be fixed up. Some larger rewording might help
clarify some things, but this just fixes some specific instances.

Change-Id: I24c59f8b1725c8c5c93101983e7a3c4dc2a91065
2016-04-17 16:38:15 -05:00
Danny Al-Gaaf
1323339d33 Fix doc and source documentation errors and warning
Solve warnings and errors from build_sphinx. Fix rst doc files
and source code docstring issues.

Closes-Bug: #1557047

Change-Id: Ib59df2681c98716c786ff0edf6d7cfcc3e8fe5ec
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2016-04-14 12:30:08 +02:00
Jenkins
3c4b65afc6 Merge "Doc: Remove incorrect run_tests.sh documentation" 2016-04-14 03:21:32 +00:00