diff --git a/.gitignore b/.gitignore
index 765ace8..942f537 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,8 @@
# Sphinx
_build
-doc/source/api/
+doc/source/reference/api/
+doc/source/.doctrees/
# Packages/installer info
*.egg
diff --git a/.zuul.yaml b/.zuul.yaml
index 0cb35d0..51c61be 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -174,9 +174,7 @@
- openstack-python36-jobs
- openstack-lower-constraints-jobs
- openstack-cover-jobs
- - docs-on-readthedocs
- vars:
- rtd_webhook_id: '37378'
+ - publish-openstack-docs-pti
check:
jobs:
- metalsmith-integration-glance-localboot-centos7
diff --git a/README.rst b/README.rst
index 7435a23..e814f5e 100644
--- a/README.rst
+++ b/README.rst
@@ -1,19 +1,22 @@
Deployment and Scheduling tool for Bare Metal
=============================================
+.. image:: https://governance.openstack.org/badges/metalsmith.svg
+ :target: https://governance.openstack.org/reference/tags/index.html
+
Overview
--------
This is a simple tool to provision bare metal machines using `OpenStack Bare
-Metal Service (ironic) `_,
-`OpenStack Image Service (glance) `_
-and `OpenStack Networking Service (neutron)
-`_.
+Metal Service (ironic) `_ and,
+optionally, `OpenStack Image Service (glance)
+`_ and `OpenStack Networking
+Service (neutron) `_.
* License: Apache License, Version 2.0
-* Documentation: https://metalsmith.readthedocs.io
+* Documentation: https://docs.openstack.org/metalsmith/
* Source: https://git.openstack.org/cgit/openstack/metalsmith
-* Bugs: https://storyboard.openstack.org/#!/project/1000
+* Bugs: https://storyboard.openstack.org/#!/project/openstack/metalsmith
Installation
------------
@@ -22,30 +25,6 @@ Installation
pip install --user metalsmith
-CLI Usage
----------
-
-Generic usage is as follows::
-
- metalsmith --os-cloud deploy --image \
- --network --ssh-public-key \
- --resource-class
-
-This is an example suitable for TripleO (replace ``compute`` with the profile
-you want to deploy)::
-
- source ~/stackrc
- metalsmith deploy --image overcloud-full --network ctlplane \
- --capability profile=compute --ssh-public-key ~/.ssh/id_rsa.pub \
- --resource-class baremetal
-
-To remove the deployed instance::
-
- metalsmith --os-cloud undeploy
-
-For all possible options see the built-in help::
-
- metalsmith --help
Contributing
------------
@@ -55,5 +34,5 @@ Contributing
(see `developer's guide
`_)
* Bugs and RFEs: `StoryBoard
- `_
+ `_
(please do NOT report bugs to Github)
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 5b346e7..8e56ab1 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -3,3 +3,4 @@
# process, which may cause wedges in the gate later.
sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
sphinxcontrib-apidoc>=0.2.0 # BSD
+openstackdocstheme>=1.18.1 # Apache-2.0
diff --git a/doc/source/cli/index.rst b/doc/source/cli/index.rst
new file mode 100644
index 0000000..7af80db
--- /dev/null
+++ b/doc/source/cli/index.rst
@@ -0,0 +1,33 @@
+metalsmith CLI
+==============
+
+Deploy Command
+--------------
+
+Generic usage is as follows::
+
+ metalsmith --os-cloud deploy --image \
+ --network --ssh-public-key \
+ --resource-class
+
+This is an example suitable for TripleO (replace ``compute`` with the profile
+you want to deploy)::
+
+ source ~/stackrc
+ metalsmith deploy --image overcloud-full --network ctlplane \
+ --capability profile=compute --ssh-public-key ~/.ssh/id_rsa.pub \
+ --resource-class baremetal
+
+Undeploy Command
+----------------
+
+To remove the deployed instance::
+
+ metalsmith --os-cloud undeploy
+
+See Also
+--------
+
+For all possible options see the built-in help::
+
+ metalsmith --help
diff --git a/doc/source/conf.py b/doc/source/conf.py
index ff1a4bb..0414234 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -23,9 +23,15 @@ extensions = [
'sphinxcontrib.apidoc',
]
+try:
+ import openstackdocstheme
+ extensions.append('openstackdocstheme')
+except ImportError:
+ openstackdocstheme = None
+
autoclass_content = 'both'
apidoc_module_dir = '../../metalsmith'
-apidoc_output_dir = 'api'
+apidoc_output_dir = 'reference/api'
apidoc_excluded_paths = ['test']
apidoc_separate_modules = True
@@ -71,6 +77,11 @@ pygments_style = 'sphinx'
# html_theme = '_theme'
# html_static_path = ['static']
+if openstackdocstheme is not None:
+ html_theme = 'openstackdocs'
+else:
+ html_theme = 'default'
+
# Output file base name for HTML help builder.
htmlhelp_basename = '%sdoc' % project
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 12feac8..366f0d2 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -8,12 +8,20 @@ The main entry point to the API is :py:class:`metalsmith.Provisioner`.
.. toctree::
:maxdepth: 3
- api/metalsmith
+ reference/api/metalsmith
.. toctree::
:hidden:
- api/modules
+ reference/api/modules
+
+Command-Line Interface
+----------------------
+
+.. toctree::
+ :maxdepth: 2
+
+ cli/index
Ansible Role
------------
diff --git a/tox.ini b/tox.ini
index 73d8a82..9056beb 100644
--- a/tox.ini
+++ b/tox.ini
@@ -26,6 +26,7 @@ commands =
coverage combine
coverage report -m --fail-under 90
coverage html -d ./cover --omit='*test*'
+ coverage xml -o cover/coverage.xml
[testenv:venv]
deps =