Commit Graph

95 Commits

Author SHA1 Message Date
Mike Perez c09fe87feb Replace support matrix ext with common library
The code to generate a support matrix has been pulled into a common
library. Using this instead of duplicating code in various projects that
need it.

Change-Id: If5c0bf2b0dcd7dbb7d316139ecb62a936fd15439
Co-Authored-By: Stephen Finucane <stephenfin@redhat.com>
2018-07-16 15:04:00 +01:00
Stephen Finucane d1820d14c6 Revert "docs: Disable smartquotes"
Bump the minimum version of oslo.config to 6.1.0, which adds proper
support for parsing Opt.help as rST [1]. This in turn allows us to
revert commit 75fc300901, which is a
temporary fix relying on deprecated features of Sphinx.

[1] https://review.openstack.org/#/c/553860/

Change-Id: I8f56bdce37cfc538348490052a24e463164c86a3
2018-07-11 14:02:32 +01:00
Zuul 40a0b579c4 Merge "Implement granular policy rules for placement" 2018-06-01 21:06:42 +00:00
Matt Riedemann 0a461979df Implement granular policy rules for placement
This adds a granular policy checking framework for
placement based on nova.policy but with a lot of
the legacy cruft removed, like the is_admin and
context_is_admin rules.

A new PlacementPolicyFixture is added along with
a new configuration option, [placement]/policy_file,
which is needed because the default policy file
that gets used in config is from [oslo_policy]/policy_file
which is being used as the nova policy file. As
far as I can tell, oslo.policy doesn't allow for
multiple policy files with different names unless
I'm misunderstanding how the policy_dirs option works.

With these changes, we can have something like:

  /etc/nova/policy.json - for nova policy rules
  /etc/nova/placement-policy.yaml - for placement rules

The docs are also updated to include the placement
policy sample along with a tox builder for the sample.

This starts by adding granular rules for CRUD operations
on the /resource_providers and /resource_providers/{uuid}
routes which use the same descriptions from the placement
API reference. Subsequent patches will add new granular
rules for the other routes.

Part of blueprint granular-placement-policy

Change-Id: I17573f5210314341c332fdcb1ce462a989c21940
2018-05-17 11:12:16 -04:00
Stephen Finucane dd1a416bc9 doc: Start using openstackdoctheme's extlink extension
This ensures we have version-specific references to other projects [1].
Note that this doesn't mean the URLs are actually valid - we need to do
more work (linkcheck?) here, but it's an improvement nonetheless.

[1] https://docs.openstack.org/openstackdocstheme/latest/#external-link-helper

Change-Id: Ifb99e727110c4904a85bc4a13366c2cae300b8df
2018-05-03 14:34:47 +01:00
Stephen Finucane b862f6ff35 tox: Make everything work with Python 3
Nothing too fancy here except that we've to work around a really ugly
side-effect of blockdiag.

Change-Id: Ibd32d30aacae65702d0ccbdb8a02b1667ec4e8ee
2018-03-28 12:57:24 +01:00
Lee Yarwood 75fc300901 docs: Disable smartquotes
This change should then allow all configuration examples to be copied
from the docs directly into nova.conf without resulting in Unicode
errors when these options are then parsed.

Note that this option is deprecated and replaced in Sphinx 1.6.6 [1] by
the smartquotes configurable. A future change will need to land to
switch between these, for now we will use and backport the
html_use_smartypants option.

[1] http://www.sphinx-doc.org/en/stable/config.html#confval-smartquotes

Change-Id: I6c47a0d74e5b5a03bc030a7e45cc7783f22ddadf
Closes-bug: #1755783
2018-03-16 10:27:13 +00:00
Michael Still 3f7995f586 Move the idmapshift binary into privsep.
I can't see any evidence that anyone else uses our nova-idmapshift
binary, and it adds a lot of complexity (flags we never call for
example). Move the code we do actually use into the privsep
directory and simplify our calls to it. Remove the extra binary
from our install and documentation.

Change-Id: Ibce28d20d166da154833376cf51f1877b829925e
blueprint: hurrah-for-privsep
2017-10-24 18:50:23 +11:00
Eric Fried f839a97e0f Live Migration sequence diagram
Based on mriedem's hand-drawn version [1] (but not as pretty).

[1] https://photos.google.com/share/AF1QipNpWVQKU8GK4_9wxVbiRJUqJnMzqPcBh6DvjVyBPIjjmi6ZU8r9TleQNo6pV1t9SA?key=NUl3OUFGYkRFTE8tMHhSX0lfc0Y1eEdoeHo4SUhn

Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com>

Change-Id: I63046079cd3135b4b19c0c6745075f090d04e396
2017-09-25 16:19:44 +00:00
Stephen Finucane ed296fc007 Monkey patch the blockdiag extension
The blockdiag extension currently provides poor support for word
wrapping.  While a PR has been filed, the project appears to be dormant
and it's likely going to be a while (if ever) before it gets merged. As
such, it's easier to carry our own, monkey patched version of the
plugin.

Change-Id: Iac2f8cadc688334e07ad46c5af1870b568c56e73
Co-Authored-By: Eric Fried <efried@us.ibm.com>
2017-08-24 15:27:55 +00:00
Stephen Finucane 002ca8c7f4 docs: Document the scheduler workflow
There have been some major changes to how scheduling works in Nova
during the Pike and Queens cycles. This documents these design changes
so that this new, more complex workflow is clearly spelled out.

Co-Authored-By: Ed Leafe <ed@leafe.com>

Change-Id: I15121d8fe9b715c0aec39dee4bfdf25ced42b481
2017-08-24 15:18:11 +00:00
Stephen Finucane b03e815134 doc: Start using oslo_policy.sphinxext
Providing a sample policy file is all well and good, but it's not
exactly designed for readability on the web. Make use of the 'sphinxext'
module built into oslo.policy to do this.

Change-Id: I6cceeca7edcacb762daa1f22f2138e2d2334b3a2
2017-08-03 16:06:14 -04:00
Stephen Finucane 83a9c2ac33 doc: Start using oslo_config.sphinxext
Providing a sample configuration file is all well and good, but it's not
exactly designed for readability on the web. Make use of the 'sphinxext'
module built into oslo.config to do this.

Change-Id: I75e8f0adae7cfaaa6020870cdb20dc2144fc70eb
2017-08-03 16:06:14 -04:00
Doug Hellmann 74b6b7741b add a redirect for the old cells landing page
Redirect from /nova/$series/cells.html to /nova/$series/admin/cells.html

Depends-On: I236b7b0a9aae065167bd0aef316603d258e4c3c6
Change-Id: I56b1c077dd604c2947c791c7d5ccdddb9fb815a2
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-07-28 08:27:05 -04:00
chenxing fa0e8f69b4 doc: Switch to openstackdocstheme
Change-Id: If7afc2cb58759b16fc6f7caa44d0cf6b7bcf4d06
Co-Authored-By: Stephen Finucane <sfinucan@redhat.com>
2017-07-21 11:35:48 +01:00
Stephen Finucane be8fa67024 doc: Populate the 'cli' section
Per the spec [1]:

  cli/ – command line tool reference docs, similar to man pages These
  may be automatically generated with cliff's sphinx integration, or
  manually written when auto-generation is not possible.

All of the docs currently found in 'man' fit that category, so those and
those alone are moved. It'll be a great day in the parish when we can
replace all of these with cliff's Sphinx integration.

[1] specs.openstack.org/openstack/docs-specs/specs/pike/os-manuals-migration

Change-Id: I45bed324ec37cfea7c1a574ec06af38e7b875a1c
2017-07-13 14:54:11 +01:00
Stephen Finucane 62ccbe1c3f doc: Enable pep8 on doc generation code
As pep8 does not run on doc generation python code so we have some
style violations there. As it not too hard to fix the problems and
therefore enable pep8 on these files this patch proposes such a
change.

Change-Id: I26104ea66fc4f3e67f8227025f43202e483beb25
2017-07-12 14:20:25 +01:00
Stephen Finucane 6671ddc832 doc: Remove dead plugin
Whatever extra functionality the 'nova.ext.nova_todo' plugin provided
over the stock 'sphinx.ext.todo' extension, we're no longer using it and
it prevents us from using the stock one. Remove it and enable the stock
one instead.

Change-Id: I57fde86bf77dad87bb4d41ef8ad19f933f5c1260
2017-07-12 14:05:14 +01:00
Stephen Finucane bf7203ac89 doc: Use consistent author, section for man pages
There's a lot of duplication here. Given that 'conf.py' is Python, we
can simplify this greatly and focus on the real content differences.

The description text is the same for all options, but this isn't
centralized as it shouldn't be the same (this field should contain a
description of each individual tool).

Change-Id: I1a2a55ac7f041387597ef93be62411fe1673f8c1
2017-07-12 11:47:52 +01:00
Stephen Finucane 19f69bee80 doc: Remove cruft from conf.py
We're going to be doing some surgery on the docs, so clean this up
before we start.

Change-Id: I02f129783ebf272d8a92d1364301ab864c97e057
2017-07-12 10:36:08 +01:00
Vu Cong Tuan 0808398487 Fix html_last_updated_fmt for Python3
html_last_updated_fmt option is interpreted as a
byte string in python3, causing Sphinx build to break.
This patch makes it utf-8 string.

Changing Popen to .check_output because of 3 reasons:
1. check_output() will raise CalledProcessError if
the called process returns a non-zero return code.
2. For consistency with keystone [1] and cinder [2]
3. It makes the code look much better.

[1] https://review.openstack.org/#/c/457142/
[2] https://review.openstack.org/#/c/433081

Change-Id: Ia3e792c512da46c2b92d3ad9ec1657849d379052
2017-06-07 21:05:12 +00:00
Emilien Macchi f2121f5880 Remove nova-cert leftovers
Right now, we can't build Nova package in RDO because the tooling still
find some bits for nova-cert in Nova codebase.
This patch aims to purge them:

- man entry for nova-cert
- nova-cert binary in setup.cfg

Change-Id: Iebee0fbcdad5808e6543e3bcad10ea1f08b8f306
2017-05-02 08:19:29 -04:00
Cao Xuan Hoang d99fd590b0 Removes unnecessary utf-8 encoding
trivialfix

Change-Id: I1294ecb5e85c9bf70a23992e92eeccfd35362551
2016-12-20 10:27:01 +07:00
Jenkins 2732d3e0f6 Merge "Remove deprecated nova-all binary" 2016-11-23 15:39:45 +00:00
Stephen Finucane 864f65e4fd doc: Integrate oslo_policy.sphinxpolicygen
Change-Id: I80e75b8a592e1125e02ca6177661177a7c17c927
2016-10-20 10:31:01 +01:00
Mike Perez c07c0d4b8e Remove deprecated nova-all binary
This was deprecated and to set to be removed in Ocata. It was only
intended for testing purposes and not for production use. Individual
binaries will be used instead.

Change-Id: I260962ec7c4167b07e9480a04454a9cb5666f8ed
2016-10-12 10:02:17 -07:00
John Garbutt 027b92dc4e Add prototype feature classification matrix
Add in feature_classification.ini that makes use of new sphinx
extension feature_matrix. While it is loosely based on the
support_matrix extension, longer term this extension will live
outside the Nova tree. As such, this has been created as a new
separate sphinx plugin.

The matrix has links to wiki page for the CI in the header of the
summary matrix. This is called a target.

Also, there are links to admin docs, API docs, and tempest test uuids
added into the feature details. An option is added to ensure these are
always present in the prototype matrix.

A maturity status is added to be clear about the level of maturity
of each feature. When in maturity mode, this is added into the summary
table in place of the status. There is also some formating for the
different maturity levels.

blueprint feature-classification

Change-Id: Ib5895e8de901f1a282d0f5c0ecb811ff8b451497
2016-07-18 18:31:03 +00:00
Andrey Volkov 9053a4685b Make available to build docs with python3
On Ubuntu 16.04 a tox package is for python3 by default
and this causes errors in building docs in tox enviroment.

In these changes iterators are replaced with lists where it's needed.
Also external command calls result are decoded from bytes to unicode.

Change-Id: I88ef54405b4bc13c269bdda55ae8289676311ee1
2016-05-23 15:30:20 +03:00
Thomas Bechtold 82a23c682e Fix doc build if git is absent
When building packages if git is absent, then we should not set
html_last_updated_fmt. It can still be set via the -D switch
when building with sphinx-build.

Change-Id: I5da86b7a163c0e795cd34abf79b0980a8552f79b
Closes-Bug: #1552251
2016-04-13 09:35:57 +02:00
Balazs Gibizer 05adc8d006 Generate doc for versioned notifications
This commit adds a new sphinx extension that inspects the nova code
and adds information about the existing versioned notifications to
the nofitications devref. This way the devref is automatically kept
up to date with relevant information.

Partially-Implements: bp versioned-notification-api
Change-Id: If65d5d81e26cb2b4a9f57a8c7d37d3de310ebe00
2016-01-28 15:33:06 +01:00
Jenkins b6e2984d60 Merge "Replace deprecated library function os.popen() with subprocess" 2016-01-09 05:51:51 +00:00
Davanum Srinivas 4140eb4004 Remove Deprecated EC2 and ObjectStore impl/tests
In Id7936be290b6febd18deb4c2db8ea4d678d4d9b1, we removed
entries from api-paste.ini for EC2 API service. In this
review we remove all the unnecessary code, docs and tests
associated with objectstore and ec2 service. Note that this
does not cleanup the Instance object or change any of the
versioned objects. We just drop any code associated with
testing the REST endpoint(s) that are no longer needed.
Also added shims such that the api-paste.ini from liberty
will still work (grenade job) and added logs and response
messages for prompting administrators to cleanup their
old api-paste.ini and switching to the stand alone EC2 API
project for their needs.

Change-Id: I8bf7cbaa7015bb61656ab90ccc8f944aaeebb095
2016-01-08 06:30:20 -05:00
Harshada Mangesh Kakad c40464514d Replace deprecated library function os.popen() with subprocess
os.popen() is deprecated since version 2.6. Resolved with use of
subprocess module.

Change-Id: Iea9c0501f46c57d809217912fb0f40eb2bc4f111
Closes-Bug: #1529836
2016-01-06 09:45:21 -08:00
Sean Dague f87fbc02b6 remove sphinxcontrib-seqdiag
This removes the one seqdiag that is in our docs which drops the whole
chain of sphinxcontrib-seqdiag which requires Pillow, which requires
that you have a C compiler and jpeg-dev package on your environment to
build documenation for a python project.

Change-Id: Ie7615d48b5524b5e5e1159a25c357f5b3f0eee0e
2015-10-05 15:00:20 -04:00
Matthew Treinish 9a3ed7631a Add sample config file to nova docs
This commit adds sample config file generation to the nova devref
using the oslo.config sphinxconfiggen module which was recently added.
This will generate a new sample config each time build sphinx is run.
This is then used on a new docs page where you can either view the file
in its entirety, or download the file. The sphinx module was added in
the oslo.config 2.3.0 release.

Change-Id: I6d9150d81c8204bee8f775021a854928671bdd02
2015-09-30 22:35:46 +00:00
Chuck Carmack 60d08e6bf8 Add documentation for the nova-cells command.
The rst file was missing.

DocImpact
Partial-Bug: #1434866

Change-Id: I65ba5d89c1812d47ddaa64db150c5ae8a670c236
2015-08-06 12:45:57 +00:00
Jenkins 1222e24038 Merge ":Add documentation for the nova-idmapshift command." 2015-08-06 05:55:21 +00:00
Chuck Carmack 8a7b1e8837 :Add documentation for the nova-idmapshift command.
The rst file was missing.

DocImpact

Change-Id: Ia5b34cf7bbacfeb6cb016499e20d3ea96473b0c6
Partial-Bug: #1434866
2015-08-05 19:11:52 +00:00
Matt Riedemann 8b24bf766d Set autodoc_index_modules=True so tox -e docs builds module docs again
Commit bd7e62f796 disabled the
autodoc_index_modules flag for building docs but it wasn't really
necessary, that change was just to get the module index out of the main
docs page.

We want to autodoc the modules so we can view the actual module index in
the tox -d docs build results, which also tells us if we have correct
ReST format in doc strings.

Notes
-----

1. Several doc string blocks have to be fixed as part of this to get
   the docs tox job to pass.
2. A docstring in vhdutilsv2 is updated to remove the math directive
   since that requires the sphinx.ext.pngmath extension which requires
   latex and dvipng packages from the distro - which is overkill for
   what the docstring was actually doing with the math directive.
3. We exclude autodoc for tests since we don't really care about
   docstrings on unit tests.
4. We exclude the nova.wsgi.nova-* modules since those won't build with
   autodoc since they can't be imported (there is no
   nova/wsgi/__init__.py module). We could arguably add the __init__.py
   but it's not really necessary for what those scripts are used for.
5. The sphinx.ext.ifconfig extension is removed since there are no docs
   that use the ifconfig directive.
6. Update the developer docs to explicitly point out that graphviz must
   be installed prior to running tox -e docs.
7. Hide doc/source/api/autoindex.rst from the toctree so that we don't
   regress the point of commit bd7e62f796.
8. unused_docs and exclude_trees options are removed from conf.py since
   they are deprecated in Sphinx 1.2.3:

   https://github.com/sphinx-doc/sphinx/blob/1.2.3/sphinx/config.py#L54
9. Fix imports for moved libvirt volume options.

Closes-Bug: #1471934

Change-Id: I946e2f89f2c9fc70e870faaf84e4a8b0fc703344
2015-07-30 17:11:47 -07:00
Jenkins 47b233f988 Merge "devref: virtual machine states and transitions" 2015-07-08 19:03:36 +00:00
Markus Zoeller 7b352048bf devref: virtual machine states and transitions
The diagrams were hard to read and update. Replaced them with
simplified diagrams and tables. I used the content as is. I looks
inconsistent to me, but should now be easier to change.

Partially implements: blueprint devref-refresh-liberty

Change-Id: I707e1a6ab69ef44448b66e8be007307b5d73eb06
2015-07-03 11:10:41 +02:00
Anne Gentle 48a625816c Changes conf.py for Sphinx build because oslosphinx now contains GA
- Changes api to API to force build of all source files.
- Ensures tracking is consistent across all openstack.org web properties.
- Tracks only docs.openstack.org/developer/{{ project }} where
project name is taken from conf.py.
- Removes ability to build local without GA. If you have ideas
for how to build local without GA, please patch.

Change-Id: Ibb61e5c1668e6a0782daf91d4faf0950c5bf77d7
Partial-bug: 1441315
2015-06-23 22:28:49 -05:00
Joe Gordon a1e8fc6dd9 Update docs layout
* Explain these docs are for trunk (copied from ironic)
* All the docs in this repo are meant to be developer docs, so having a
  devref inside of the docs is redundant and just makes the docs more
  complicated to navigate. Move everything out of the devref folder and
  link to everything from main index.
* Move man pages into separate section. The man pages are pretty sparse
* right now, we should either make them useful or just delete them
* Remove dead docs from unused_docs list in doc/source/conf.py
* Shuffle docs landing page, move common referees to the top (API,
  hypervisor support matrix), Add a introduction section and more. The
  hope is the updated layout makes this document easier to navigate.
* Use maxdepth of 1
* Rename a few sections with what are hopefully better names

The next step is to prune out outdated documents and further cleanup
this page.

Change-Id: Iff453e47ccc902a0e72b1a5f6ce1ee939ff3a1a0
2015-05-15 10:47:18 -07:00
Daniel P. Berrange 4837c42127 Add formal doc recording hypervisor feature capability matrix
Add document to replace / obsolete the giant table on

  https://wiki.openstack.org/wiki/HypervisorSupportMatrix

This initial draft is a fairly straightforward conversion of
that table. Over time, it needs much work to improve the coverage
of API operations and and coverage of important configuration
information that users will care about.

It is using the .ini file syntax in order to record the data in
an easily machine parsable format, while remaining human friendly
by avoiding the syntax heavy approach of XML / JSON / YAML

An extension is registered with sphinx that can convert the
.ini file content into docutils content that then gets rendered
into the developer docs, linked from the index page

Change-Id: I4d3db4bce5737dba30a026a11083a9ea64459cd4
2015-02-03 15:15:49 +00:00
Andreas Jaeger f5c3f6a953 Stop using intersphinx
Remove intersphinx from the docs build as it triggers network calls that
occasionally fail, and we don't really use intersphinx (links other
sphinx documents out on the internet)

This also removes the requirement for internet access during docs build.

This causes docs jobs to fail because we error out on warnings.

Change-Id: I71e941e2a639641a662a163c682eb86d51de42fb
Related-Bug: #1368910
2014-09-12 22:41:42 +02:00
Sahid Orentino Ferdjaoui ea8323eca4 cmd: add nova-serialproxy service
Adds a websocket proxy that is compatible with Nova
serial ports.

Co-Authored-By: Vladan Popovic <vpopovic@redhat.com>
Co-Authored-By: Ian Wells <iawells@cisco.com>
Co-Authored-By: Sushma Korati <sushma_korati@persistent.co.in>

Partial-Implements: blueprint serial-ports
Change-Id: Ia944cb93945140e6341588063329a981f7e778f1
2014-08-30 14:27:54 +00:00
Davanum Srinivas a507d42cf5 docs - Set pbr 'warnerrors' option for doc build
By setting this pbr option in setup.cfg, the doc build will fail in case
of any warnings or errors occur during the build process.

Closes-Bug: #1351350

Change-Id: Id4858062d2aaa4c2fe5b597e40e4e8947f544a4d
2014-08-11 12:53:37 +00:00
Sascha Peilicke 90a61d71cd Drop nova-rpc-zmq-receiver man-page
Doesn't make sense to install and build docs after it was removed.

Change-Id: Ia6193808cca625e83cb3497b5033db5c08dcdd1e
2014-04-01 11:06:33 +02:00
Ben Nemec c926216a9b Replace oslo.sphinx with oslosphinx
oslosphinx is now available as a replacement for oslo.sphinx that
won't conflict with oslo.config in virtual envs.

Change-Id: I7c116f816af895261e76af385ee3e9288e6fa70f
Closes-Bug: #1277168
2014-02-12 16:45:49 +00:00
Doug Hellmann 47500553d9 Use oslo.sphinx and remove local copy of doc theme
Use the new oslo.sphinx version of the OpenStack doc
theme instead of copying it into this repo.

blueprint oslo.sphinx

Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
Change-Id: I0bd91f7bb43f97b99051fed65b75fc05d5149cc8
2013-07-06 13:18:04 -04:00