Doc builds can fail if you have .egg-info directories
in your repo. This change makes sure that those
directories are ignored in the doc8 check.
Change-Id: I8e713651919f43feb80fca59b74c103b3255dd75
Some of the available checks are disabled by default in flake8, like:
[H106] Don’t put vim configuration in source files
[H203] Use assertIs(Not)None to check for None
This patch is to enable the H106 and H203 checks in Cinder project.
The C312 hacking rule will be removed when turn on H203.
Change-Id: I2e883c301b64d5977bbb907b63c9c144bc6f959d
This avoids falling back to the global bindep-fallback.txt which
installs a pretty big environment. Without this change, a lot
of additional but unnecessary packages are installed on the nodepool
workers.
Change-Id: I8c581225eada929bc947b13f851bb228000f32fe
The v1 API is still in the tree, even if it is off by
default and deprecated. We need to keep documentation on
how it works at least until we remove the code. This was
published to [1] which was the primary way to find this
information, and it is now missing.
[1] https://developer.openstack.org/api-ref/block-storage/v1/
This marks v1 as deprecated in the toctree.
This reverts commit 8139f7f108786112ec6eef47228ecbc7f54b6f47.
Change-Id: Ic9d0fcce5ca0f8455c212292664b8f9694edfce3
Make use of doc8 to verify all rst files which are not
autogenerated for errors and fail if there are any issues
found. The doc8 checks are now part of the tox 'docs'
environment and ran automatically. Checks can also be called
direcly via 'tox -e docs'.
Fix all issues found by doc8.
Closes-Bug: #1566765
Change-Id: I2b25247030a1aadcfe029c9e071ef17f2f72046b
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
The gating on python 3.4 is restricted to <= Mitaka. This is due to
the change from Ubuntu Trusty to Xenial, where only python3.5 is
available. There is no need to continue to keep these settings.
Change-Id: Ief6f4b8b37113f08dd0ae767f3dd2b5b2177e3ce
Many deprecations are triggered early (on imports, for example)
before the warnings are enabled by the WarningsFixture in the
base test class.
To make sure all DeprecationWarning messages are emitted we enable
them via the PYTHONWARNINGS environment variable.
Note: this copy from 1be35ff039d67c50866f2556ef847b048cbf3578
Change-Id: I7c6106149832d048d4d3bd2701c2c0db81bd87cb
We get a warning "WARNING:test command found but not installed in testenv"
when building docs. This patch fix it.
Change-Id: Ib9798e59c55099d5a4bf8989401b63487b0c6338
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
Looks like we should now be able to add oslo.versionedobjects[fixtures]
to test-requirements.txt and remove it from tox.ini, so this commit does
that.
Change-Id: I420ea16d8ad6d883e7c2c8de80f912ea35500367
Remove useage of old os-api-ref version and replace with current version.
Follow other repositories and merge v1 and v2 in a single document.
Note that we need to have a single document so that preview of the
document works properly in our CI.
Change-Id: I82c8b9ca317298b3dc1f7133ce8c0e9b3503730d
Two years ago the translation files have been split into several
files, separating the log messages of different log levels from each
other, like X.pot, X-log-warning.pot, X-log-info.pot, and so on.
However, the setup.py command `compile_catalogs`, that comes from the
babel package and compiles the corresponding .po files into .mo
files, only supported one file per python package. This means that
during packaging `compile_catalogs` never compiled the X-log-*.po
files, so the corresponding translations were always missing.
Since babel 2.3 the domain can be set to a space separated list of
domains. This change adds the the additional log level files to the
domain list.
The obsolete check that .po and .pot files are valid is removed from
tox.ini.
Change-Id: I149c2254cb04297e598cfd3ca73b24efd0c8ef18
Closes-Bug: #1536226
Change [1] updated tox.ini to use constraints rather than
specific, non-constrained install commands but neglected
to update the api-ref environment. In addition to fixing
that omission we also remove a bit of ugly trailing
whitespace.
Co-authored-By: Gorka Eguileor <geguileo@redhat.com>
[1] I879f34129c0d958be0a73bfdc7f641e178d4efe9
Change-Id: I58ec756cd3de2e501c77a4d947e680d0959d22ec
Infra is now ready to use constraints everywhere [1], so adapt
releasenotes, coverage, and venv to use the default install command
instead of a specific non-constrained install command.
With this change, all tox environments now use constraints.
[1] http://lists.openstack.org/pipermail/openstack-dev/2016-August/101474.html
Change-Id: I879f34129c0d958be0a73bfdc7f641e178d4efe9
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
tox -e pip-missing-reqs was failing due to a
bug in pip_missing_reqs. The fixed package
has also been renamed to pip_check_reqs as of
version 2.0.
Change-Id: If91b979fedac8de5c611a87b900a2bcdb80d58b3
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
The commands used by constraints need at least tox 2.0. Update to
reflect reality, which should help with local running of constraints
targets.
Note: this is a clone of mriedem's manila change [1].
[1] I27348462a21daab479d76b24b48e3a4e017504cc
Change-Id: I185c8f80285f2e7b4f3d3d45a2e6a7dd5741bc1d
When jumping between different review branches .pyc files of newly
introduced .py files are getting left behind. When these are related to
DB migrations all tests start to fail with: "AssertionError: There is no
script for XY version". This is pretty annoying, so why not remove all
*.pyc files before running any tests? This commit implements that.
Change-Id: Iac223fb156af3729b51fc2b11323a7cc30f9c07d
gate-cinder-tox-compliance is broken because run-tox.sh script fails
with ".tox/compliance/bin/pip: No such file or directory". This is
because we're reusing pep8 venv (envdir tox directive), so
.tox/compliance directory never gets created.
To fix hat we can simply stop reusing that venv and let compliance tox
job create it's own venv. It can be done by removing envdir directive
from tox.ini.
Change-Id: Ib809872f5fb1581e1b098775c2ebdc4e724c70e2
Closes-Bug: 1596508
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
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
Running the api-ref environment currently warns that 'rm' is not
installed in testenv. This patch removes the warning by whitelisting
the rm command.
Change-Id: I4072491713a38b11d9f55b26a8ba0a3cf49445f0
Closes-Bug: #1581778
This patch is for converting API Reference to RST and host it
in the Cinder tree.
This patch contains all the RST for cinder to bring over to their
repos to begin building API reference information from within.
This contains .inc files which have all the contents of the .rst files
but are grouped together for easier editing
This is the results of the RST conversion from WADL. It creates a
single index plus a bunch of included files which represent sections
of the API.
Cleaning task will be done once this part is merged.
As we have removed XML API support in Newton release, we need to
remove XML from API reference as well.
But we still have installations which are using XML.
So implementation plan is to first merge this patch in Newton release
keeping XML for now, then I will backport same to stable branches.
After that I will remove same from Newton release to match API
reference with actual API implementation.
Implements: bp api-reference-to-rst
Change-Id: I865ac922538bfa5bd45c24eb4bc49f5e966dc811
The most recent version of bandit no longer requires a configuration
file (bandit.yaml) to run the default test suite. Removing the
configuration file and updating the bandit arguments will run all of
the currently available bandit tests in the default test suite.
Change-Id: If144c4017ce9bb58c3e83b62a5e31325353200b5
Now that all cinder unit tests pass on python 3.4 [1], we can run py34
tests by default alongside py27 and pep8.
This commit also addresses the annoyance of py34 tox tests failing with
'db type could not be determined' if py27 tests were initially run in
the workspace.
[1] https://haypo.github.io/openstack_mitaka_python3.html
Change-Id: If60e5d0d3185e78f38fa2bfc7b6bb4840f09d840
Closes-bug: #1489059
This flips the tox.ini to always use constraints installation for
all targets. It drops the extra -constraints targets in the process.
This makes it so there is no developer change required to operate in our
new world order.
Change-Id: I2b56835edb2d75b7c871aae030e909578dbb958d
Depends-On: Iecd35d6bc3b1e9e0ed31b48a34e4149d34d55ac2
* Remove tests-py3.txt: all unit tests now pass on Python 3
* tox.ini: remove specific command for py34 test environment, it now
inherits testenv commands (same command than Python 2.7)
Partial-Implements: blueprint cinder-python3
Change-Id: I52c68a63740b3ae6097fad419b59a9c29422b525
Functional unit tests should not be a part of unit
tests job. This patch adds new tox environment to run
functional tests:
$ tox -e functional
It also removes logging from functional tests. Some of log calls were
replaced with asserts.
Related Implements: blueprint cinder-integrated-tests
Change-Id: I0ebfef2fe05f502cd5fb08fbc8af09008949e457