Read the Docs build information
Build id: 2526495
Project: canonical-microovn
Version: 188
Commit: 2ac2d9359d6941cca68ef136331767322cb114f6
Date: 2024-10-04T10:19:31.636019Z
State: finished
Success: True


[rtd-command-info] start-time: 2024-10-04T10:19:32.921567Z, end-time: 2024-10-04T10:19:33.415310Z, duration: 0, exit-code: 0
git clone --depth 1 https://github.com/canonical/microovn .
Cloning into '.'...

[rtd-command-info] start-time: 2024-10-04T10:19:33.493003Z, end-time: 2024-10-04T10:19:34.004225Z, duration: 0, exit-code: 0
git fetch origin --force --prune --prune-tags --depth 50 pull/188/head:external-188
From https://github.com/canonical/microovn
 * [new ref]         refs/pull/188/head -> external-188

[rtd-command-info] start-time: 2024-10-04T10:19:34.156605Z, end-time: 2024-10-04T10:19:34.225789Z, duration: 0, exit-code: 0
git checkout --force 2ac2d9359d6941cca68ef136331767322cb114f6
Note: switching to '2ac2d9359d6941cca68ef136331767322cb114f6'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 2ac2d93 refactor: centralize OVS/OVN_RUNDIR usage

[rtd-command-info] start-time: 2024-10-04T10:19:34.312949Z, end-time: 2024-10-04T10:19:34.371526Z, duration: 0, exit-code: 0
cat docs/.readthedocs.yaml
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools you might need
build:
  os: ubuntu-22.04
  tools:
    python: "3.11"

# Build documentation in the docs/ directory with Sphinx
sphinx:
  builder: dirhtml
  configuration: docs/conf.py
  fail_on_warning: true

# If using Sphinx, optionally build your docs in additional formats such as PDF
formats:
   - pdf

# Optionally declare the Python requirements required to build your docs
python:
   install:
   - requirements: docs/.sphinx/requirements.txt

[rtd-command-info] start-time: 2024-10-04T10:19:40.798669Z, end-time: 2024-10-04T10:19:40.879250Z, duration: 0, exit-code: 0
asdf global python 3.11.9


[rtd-command-info] start-time: 2024-10-04T10:19:41.307291Z, end-time: 2024-10-04T10:19:42.429036Z, duration: 1, exit-code: 0
python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH
created virtual environment CPython3.11.9.final.0-64 in 765ms
  creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/docs/.local/share/virtualenv)
    added seed packages: pip==23.1, setuptools==67.6.1, wheel==0.40.0
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

[rtd-command-info] start-time: 2024-10-04T10:19:42.510650Z, end-time: 2024-10-04T10:19:53.508874Z, duration: 10, exit-code: 0
python -m pip install --upgrade --no-cache-dir pip setuptools
Requirement already satisfied: pip in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (23.1)
Collecting pip
  Downloading pip-24.2-py3-none-any.whl (1.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 9.6 MB/s eta 0:00:00
Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (67.6.1)
Collecting setuptools
  Downloading setuptools-75.1.0-py3-none-any.whl (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 21.2 MB/s eta 0:00:00
Installing collected packages: setuptools, pip
  Attempting uninstall: setuptools
    Found existing installation: setuptools 67.6.1
    Uninstalling setuptools-67.6.1:
      Successfully uninstalled setuptools-67.6.1
  Attempting uninstall: pip
    Found existing installation: pip 23.1
    Uninstalling pip-23.1:
      Successfully uninstalled pip-23.1
Successfully installed pip-24.2 setuptools-75.1.0

[rtd-command-info] start-time: 2024-10-04T10:19:53.591566Z, end-time: 2024-10-04T10:20:01.900573Z, duration: 8, exit-code: 0
python -m pip install --upgrade --no-cache-dir sphinx readthedocs-sphinx-ext
Collecting sphinx
  Downloading sphinx-8.0.2-py3-none-any.whl.metadata (6.2 kB)
Collecting readthedocs-sphinx-ext
  Downloading readthedocs_sphinx_ext-2.2.5-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting sphinxcontrib-applehelp (from sphinx)
  Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-devhelp (from sphinx)
  Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-jsmath (from sphinx)
  Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting sphinxcontrib-htmlhelp>=2.0.0 (from sphinx)
  Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-serializinghtml>=1.1.9 (from sphinx)
  Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl.metadata (2.4 kB)
Collecting sphinxcontrib-qthelp (from sphinx)
  Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl.metadata (2.3 kB)
Collecting Jinja2>=3.1 (from sphinx)
  Downloading jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
Collecting Pygments>=2.17 (from sphinx)
  Downloading pygments-2.18.0-py3-none-any.whl.metadata (2.5 kB)
Collecting docutils<0.22,>=0.20 (from sphinx)
  Downloading docutils-0.21.2-py3-none-any.whl.metadata (2.8 kB)
Collecting snowballstemmer>=2.2 (from sphinx)
  Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl.metadata (6.5 kB)
Collecting babel>=2.13 (from sphinx)
  Downloading babel-2.16.0-py3-none-any.whl.metadata (1.5 kB)
Collecting alabaster>=0.7.14 (from sphinx)
  Downloading alabaster-1.0.0-py3-none-any.whl.metadata (2.8 kB)
Collecting imagesize>=1.3 (from sphinx)
  Downloading imagesize-1.4.1-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting requests>=2.30.0 (from sphinx)
  Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting packaging>=23.0 (from sphinx)
  Downloading packaging-24.1-py3-none-any.whl.metadata (3.2 kB)
Collecting MarkupSafe>=2.0 (from Jinja2>=3.1->sphinx)
  Downloading MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)
Collecting charset-normalizer<4,>=2 (from requests>=2.30.0->sphinx)
  Downloading charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (33 kB)
Collecting idna<4,>=2.5 (from requests>=2.30.0->sphinx)
  Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting urllib3<3,>=1.21.1 (from requests>=2.30.0->sphinx)
  Downloading urllib3-2.2.3-py3-none-any.whl.metadata (6.5 kB)
Collecting certifi>=2017.4.17 (from requests>=2.30.0->sphinx)
  Downloading certifi-2024.8.30-py3-none-any.whl.metadata (2.2 kB)
Downloading sphinx-8.0.2-py3-none-any.whl (3.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 143.9 MB/s eta 0:00:00
Downloading readthedocs_sphinx_ext-2.2.5-py2.py3-none-any.whl (11 kB)
Downloading alabaster-1.0.0-py3-none-any.whl (13 kB)
Downloading babel-2.16.0-py3-none-any.whl (9.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 250.4 MB/s eta 0:00:00
Downloading docutils-0.21.2-py3-none-any.whl (587 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 587.4/587.4 kB 345.3 MB/s eta 0:00:00
Downloading imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB)
Downloading jinja2-3.1.4-py3-none-any.whl (133 kB)
Downloading packaging-24.1-py3-none-any.whl (53 kB)
Downloading pygments-2.18.0-py3-none-any.whl (1.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 362.3 MB/s eta 0:00:00
Downloading requests-2.32.3-py3-none-any.whl (64 kB)
Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB)
Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl (98 kB)
Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 kB)
Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl (119 kB)
Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl (82 kB)
Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB)
Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl (88 kB)
Downloading certifi-2024.8.30-py3-none-any.whl (167 kB)
Downloading charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (140 kB)
Downloading idna-3.10-py3-none-any.whl (70 kB)
Downloading MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (28 kB)
Downloading urllib3-2.2.3-py3-none-any.whl (126 kB)
Installing collected packages: snowballstemmer, urllib3, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, Pygments, packaging, MarkupSafe, imagesize, idna, docutils, charset-normalizer, certifi, babel, alabaster, requests, Jinja2, sphinx, readthedocs-sphinx-ext
Successfully installed Jinja2-3.1.4 MarkupSafe-2.1.5 Pygments-2.18.0 alabaster-1.0.0 babel-2.16.0 certifi-2024.8.30 charset-normalizer-3.3.2 docutils-0.21.2 idna-3.10 imagesize-1.4.1 packaging-24.1 readthedocs-sphinx-ext-2.2.5 requests-2.32.3 snowballstemmer-2.2.0 sphinx-8.0.2 sphinxcontrib-applehelp-2.0.0 sphinxcontrib-devhelp-2.0.0 sphinxcontrib-htmlhelp-2.1.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-2.0.0 sphinxcontrib-serializinghtml-2.0.0 urllib3-2.2.3

[rtd-command-info] start-time: 2024-10-04T10:20:01.989810Z, end-time: 2024-10-04T10:20:07.379113Z, duration: 5, exit-code: 0
python -m pip install --exists-action=w --no-cache-dir -r docs/.sphinx/requirements.txt
Collecting furo (from -r docs/.sphinx/requirements.txt (line 1))
  Downloading furo-2024.8.6-py3-none-any.whl.metadata (5.9 kB)
Collecting linkify-it-py (from -r docs/.sphinx/requirements.txt (line 2))
  Downloading linkify_it_py-2.0.3-py3-none-any.whl.metadata (8.5 kB)
Collecting lxd-sphinx-extensions (from -r docs/.sphinx/requirements.txt (line 3))
  Downloading lxd_sphinx_extensions-0.0.16-py3-none-any.whl.metadata (544 bytes)
Collecting myst-parser (from -r docs/.sphinx/requirements.txt (line 4))
  Downloading myst_parser-4.0.0-py3-none-any.whl.metadata (5.4 kB)
Collecting pyspelling (from -r docs/.sphinx/requirements.txt (line 5))
  Downloading pyspelling-2.10-py3-none-any.whl.metadata (3.8 kB)
Requirement already satisfied: sphinx in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from -r docs/.sphinx/requirements.txt (line 6)) (8.0.2)
Collecting sphinx-autobuild (from -r docs/.sphinx/requirements.txt (line 7))
  Downloading sphinx_autobuild-2024.10.3-py3-none-any.whl.metadata (7.7 kB)
Collecting sphinx-copybutton (from -r docs/.sphinx/requirements.txt (line 8))
  Downloading sphinx_copybutton-0.5.2-py3-none-any.whl.metadata (3.2 kB)
Collecting sphinx-design (from -r docs/.sphinx/requirements.txt (line 9))
  Downloading sphinx_design-0.6.1-py3-none-any.whl.metadata (5.5 kB)
Collecting sphinx-notfound-page (from -r docs/.sphinx/requirements.txt (line 10))
  Downloading sphinx_notfound_page-1.0.4-py3-none-any.whl.metadata (2.9 kB)
Collecting sphinx-reredirects (from -r docs/.sphinx/requirements.txt (line 11))
  Downloading sphinx_reredirects-0.1.5-py3-none-any.whl.metadata (2.6 kB)
Collecting sphinx-tabs (from -r docs/.sphinx/requirements.txt (line 12))
  Downloading sphinx_tabs-3.4.5-py3-none-any.whl.metadata (6.3 kB)
Collecting sphinxcontrib-jquery (from -r docs/.sphinx/requirements.txt (line 13))
  Downloading sphinxcontrib_jquery-4.1-py2.py3-none-any.whl.metadata (2.6 kB)
Collecting sphinxext-opengraph (from -r docs/.sphinx/requirements.txt (line 14))
  Downloading sphinxext_opengraph-0.9.1-py3-none-any.whl.metadata (6.5 kB)
Collecting beautifulsoup4 (from furo->-r docs/.sphinx/requirements.txt (line 1))
  Downloading beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB)
Collecting sphinx-basic-ng>=1.0.0.beta2 (from furo->-r docs/.sphinx/requirements.txt (line 1))
  Downloading sphinx_basic_ng-1.0.0b2-py3-none-any.whl.metadata (1.5 kB)
Requirement already satisfied: pygments>=2.7 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from furo->-r docs/.sphinx/requirements.txt (line 1)) (2.18.0)
Collecting uc-micro-py (from linkify-it-py->-r docs/.sphinx/requirements.txt (line 2))
  Downloading uc_micro_py-1.0.3-py3-none-any.whl.metadata (2.0 kB)
Collecting canonical-sphinx-extensions (from lxd-sphinx-extensions->-r docs/.sphinx/requirements.txt (line 3))
  Downloading canonical_sphinx_extensions-0.0.23-py3-none-any.whl.metadata (15 kB)
Requirement already satisfied: docutils<0.22,>=0.19 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from myst-parser->-r docs/.sphinx/requirements.txt (line 4)) (0.21.2)
Requirement already satisfied: jinja2 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from myst-parser->-r docs/.sphinx/requirements.txt (line 4)) (3.1.4)
Collecting markdown-it-py~=3.0 (from myst-parser->-r docs/.sphinx/requirements.txt (line 4))
  Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
Collecting mdit-py-plugins>=0.4.1,~=0.4 (from myst-parser->-r docs/.sphinx/requirements.txt (line 4))
  Downloading mdit_py_plugins-0.4.2-py3-none-any.whl.metadata (2.8 kB)
Collecting pyyaml (from myst-parser->-r docs/.sphinx/requirements.txt (line 4))
  Downloading PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting html5lib (from pyspelling->-r docs/.sphinx/requirements.txt (line 5))
  Downloading html5lib-1.1-py2.py3-none-any.whl.metadata (16 kB)
Collecting lxml (from pyspelling->-r docs/.sphinx/requirements.txt (line 5))
  Downloading lxml-5.3.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (3.8 kB)
Collecting markdown (from pyspelling->-r docs/.sphinx/requirements.txt (line 5))
  Downloading Markdown-3.7-py3-none-any.whl.metadata (7.0 kB)
Collecting soupsieve>=1.8 (from pyspelling->-r docs/.sphinx/requirements.txt (line 5))
  Downloading soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB)
Collecting wcmatch>=8.5 (from pyspelling->-r docs/.sphinx/requirements.txt (line 5))
  Downloading wcmatch-10.0-py3-none-any.whl.metadata (5.0 kB)
Requirement already satisfied: sphinxcontrib-applehelp in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (2.0.0)
Requirement already satisfied: sphinxcontrib-devhelp in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (2.0.0)
Requirement already satisfied: sphinxcontrib-jsmath in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (1.0.1)
Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (2.1.0)
Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (2.0.0)
Requirement already satisfied: sphinxcontrib-qthelp in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (2.0.0)
Requirement already satisfied: snowballstemmer>=2.2 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (2.2.0)
Requirement already satisfied: babel>=2.13 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (2.16.0)
Requirement already satisfied: alabaster>=0.7.14 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (1.0.0)
Requirement already satisfied: imagesize>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (1.4.1)
Requirement already satisfied: requests>=2.30.0 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (2.32.3)
Requirement already satisfied: packaging>=23.0 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 6)) (24.1)
Collecting colorama>=0.4.6 (from sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 7))
  Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Collecting starlette>=0.35 (from sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 7))
  Downloading starlette-0.39.2-py3-none-any.whl.metadata (6.0 kB)
Collecting uvicorn>=0.25 (from sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 7))
  Downloading uvicorn-0.31.0-py3-none-any.whl.metadata (6.6 kB)
Collecting watchfiles>=0.20 (from sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 7))
  Downloading watchfiles-0.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)
Collecting websockets>=11 (from sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 7))
  Downloading websockets-13.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.8 kB)
Requirement already satisfied: MarkupSafe>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from jinja2->myst-parser->-r docs/.sphinx/requirements.txt (line 4)) (2.1.5)
Collecting mdurl~=0.1 (from markdown-it-py~=3.0->myst-parser->-r docs/.sphinx/requirements.txt (line 4))
  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from requests>=2.30.0->sphinx->-r docs/.sphinx/requirements.txt (line 6)) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from requests>=2.30.0->sphinx->-r docs/.sphinx/requirements.txt (line 6)) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from requests>=2.30.0->sphinx->-r docs/.sphinx/requirements.txt (line 6)) (2.2.3)
Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages (from requests>=2.30.0->sphinx->-r docs/.sphinx/requirements.txt (line 6)) (2024.8.30)
Collecting anyio<5,>=3.4.0 (from starlette>=0.35->sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 7))
  Downloading anyio-4.6.0-py3-none-any.whl.metadata (4.6 kB)
Collecting click>=7.0 (from uvicorn>=0.25->sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 7))
  Downloading click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting h11>=0.8 (from uvicorn>=0.25->sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 7))
  Downloading h11-0.14.0-py3-none-any.whl.metadata (8.2 kB)
Collecting bracex>=2.1.1 (from wcmatch>=8.5->pyspelling->-r docs/.sphinx/requirements.txt (line 5))
  Downloading bracex-2.5.post1-py3-none-any.whl.metadata (3.5 kB)
Collecting gitpython (from canonical-sphinx-extensions->lxd-sphinx-extensions->-r docs/.sphinx/requirements.txt (line 3))
  Downloading GitPython-3.1.43-py3-none-any.whl.metadata (13 kB)
Collecting six>=1.9 (from html5lib->pyspelling->-r docs/.sphinx/requirements.txt (line 5))
  Downloading six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
Collecting webencodings (from html5lib->pyspelling->-r docs/.sphinx/requirements.txt (line 5))
  Downloading webencodings-0.5.1-py2.py3-none-any.whl.metadata (2.1 kB)
Collecting sniffio>=1.1 (from anyio<5,>=3.4.0->starlette>=0.35->sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 7))
  Downloading sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB)
Collecting gitdb<5,>=4.0.1 (from gitpython->canonical-sphinx-extensions->lxd-sphinx-extensions->-r docs/.sphinx/requirements.txt (line 3))
  Downloading gitdb-4.0.11-py3-none-any.whl.metadata (1.2 kB)
Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->gitpython->canonical-sphinx-extensions->lxd-sphinx-extensions->-r docs/.sphinx/requirements.txt (line 3))
  Downloading smmap-5.0.1-py3-none-any.whl.metadata (4.3 kB)
Downloading furo-2024.8.6-py3-none-any.whl (341 kB)
Downloading linkify_it_py-2.0.3-py3-none-any.whl (19 kB)
Downloading lxd_sphinx_extensions-0.0.16-py3-none-any.whl (1.3 kB)
Downloading myst_parser-4.0.0-py3-none-any.whl (84 kB)
Downloading pyspelling-2.10-py3-none-any.whl (45 kB)
Downloading sphinx_autobuild-2024.10.3-py3-none-any.whl (11 kB)
Downloading sphinx_copybutton-0.5.2-py3-none-any.whl (13 kB)
Downloading sphinx_design-0.6.1-py3-none-any.whl (2.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 109.5 MB/s eta 0:00:00
Downloading sphinx_notfound_page-1.0.4-py3-none-any.whl (8.2 kB)
Downloading sphinx_reredirects-0.1.5-py3-none-any.whl (5.7 kB)
Downloading sphinx_tabs-3.4.5-py3-none-any.whl (9.9 kB)
Downloading sphinxcontrib_jquery-4.1-py2.py3-none-any.whl (121 kB)
Downloading sphinxext_opengraph-0.9.1-py3-none-any.whl (1.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 530.5 MB/s eta 0:00:00
Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
Downloading mdit_py_plugins-0.4.2-py3-none-any.whl (55 kB)
Downloading soupsieve-2.6-py3-none-any.whl (36 kB)
Downloading sphinx_basic_ng-1.0.0b2-py3-none-any.whl (22 kB)
Downloading starlette-0.39.2-py3-none-any.whl (73 kB)
Downloading uvicorn-0.31.0-py3-none-any.whl (63 kB)
Downloading watchfiles-0.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (425 kB)
Downloading wcmatch-10.0-py3-none-any.whl (39 kB)
Downloading websockets-13.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (164 kB)
Downloading beautifulsoup4-4.12.3-py3-none-any.whl (147 kB)
Downloading canonical_sphinx_extensions-0.0.23-py3-none-any.whl (38 kB)
Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB)
Downloading lxml-5.3.0-cp311-cp311-manylinux_2_28_x86_64.whl (5.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.0/5.0 MB 211.3 MB/s eta 0:00:00
Downloading Markdown-3.7-py3-none-any.whl (106 kB)
Downloading PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.0/763.0 kB 517.9 MB/s eta 0:00:00
Downloading uc_micro_py-1.0.3-py3-none-any.whl (6.2 kB)
Downloading anyio-4.6.0-py3-none-any.whl (89 kB)
Downloading bracex-2.5.post1-py3-none-any.whl (11 kB)
Downloading click-8.1.7-py3-none-any.whl (97 kB)
Downloading h11-0.14.0-py3-none-any.whl (58 kB)
Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Downloading GitPython-3.1.43-py3-none-any.whl (207 kB)
Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Downloading gitdb-4.0.11-py3-none-any.whl (62 kB)
Downloading sniffio-1.3.1-py3-none-any.whl (10 kB)
Downloading smmap-5.0.1-py3-none-any.whl (24 kB)
Installing collected packages: webencodings, websockets, uc-micro-py, soupsieve, sniffio, smmap, six, pyyaml, mdurl, markdown, lxml, h11, colorama, click, bracex, wcmatch, uvicorn, markdown-it-py, linkify-it-py, html5lib, gitdb, beautifulsoup4, anyio, watchfiles, starlette, sphinxext-opengraph, sphinxcontrib-jquery, sphinx-tabs, sphinx-reredirects, sphinx-notfound-page, sphinx-design, sphinx-copybutton, sphinx-basic-ng, pyspelling, mdit-py-plugins, gitpython, sphinx-autobuild, myst-parser, furo, canonical-sphinx-extensions, lxd-sphinx-extensions
Successfully installed anyio-4.6.0 beautifulsoup4-4.12.3 bracex-2.5.post1 canonical-sphinx-extensions-0.0.23 click-8.1.7 colorama-0.4.6 furo-2024.8.6 gitdb-4.0.11 gitpython-3.1.43 h11-0.14.0 html5lib-1.1 linkify-it-py-2.0.3 lxd-sphinx-extensions-0.0.16 lxml-5.3.0 markdown-3.7 markdown-it-py-3.0.0 mdit-py-plugins-0.4.2 mdurl-0.1.2 myst-parser-4.0.0 pyspelling-2.10 pyyaml-6.0.2 six-1.16.0 smmap-5.0.1 sniffio-1.3.1 soupsieve-2.6 sphinx-autobuild-2024.10.3 sphinx-basic-ng-1.0.0b2 sphinx-copybutton-0.5.2 sphinx-design-0.6.1 sphinx-notfound-page-1.0.4 sphinx-reredirects-0.1.5 sphinx-tabs-3.4.5 sphinxcontrib-jquery-4.1 sphinxext-opengraph-0.9.1 starlette-0.39.2 uc-micro-py-1.0.3 uvicorn-0.31.0 watchfiles-0.24.0 wcmatch-10.0 webencodings-0.5.1 websockets-13.1

[rtd-command-info] start-time: 2024-10-04T10:20:08.025834Z, end-time: 2024-10-04T10:20:08.088359Z, duration: 0, exit-code: 0
cat docs/conf.py
import sys

sys.path.append('./')
from custom_conf import *

# Configuration file for the Sphinx documentation builder.
# You should not do any modifications to this file. Put your custom
# configuration into the custom_conf.py file.
# If you need to change this file, contribute the changes upstream.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

############################################################
### Extensions
############################################################

extensions = [
    'sphinx_design',
    'sphinx_tabs.tabs',
    'sphinx_reredirects',
    'youtube-links',
    'related-links',
    'custom-rst-roles',
    'terminal-output',
    'sphinx_copybutton',
    'sphinxext.opengraph',
    'myst_parser',
    'sphinxcontrib.jquery',
    'notfound.extension'
]
extensions.extend(custom_extensions)

### Configuration for extensions

# Additional MyST syntax
myst_enable_extensions = [
    'substitution',
    'deflist',
    'linkify'
]
myst_enable_extensions.extend(custom_myst_extensions)

# Used for related links
if not 'discourse_prefix' in html_context and 'discourse' in html_context:
    html_context['discourse_prefix'] = html_context['discourse'] + '/t/'

# The default for notfound_urls_prefix usually works, but not for
# documentation on documentation.ubuntu.com
if slug:
    notfound_urls_prefix = '/' + slug + '/en/latest/'

notfound_context = {
    'title': 'Page not found',
    'body': '<h1>Page not found</h1>\n\n<p>Sorry, but the documentation page that you are looking for was not found.</p>\n<p>Documentation changes over time, and pages are moved around. We try to redirect you to the updated content where possible, but unfortunately, that didn\'t work this time (maybe because the content you were looking for does not exist in this version of the documentation).</p>\n<p>You can try to use the navigation to locate the content you\'re looking for, or search for a similar page.</p>\n',
}

# Default image for OGP (to prevent font errors, see
# https://github.com/canonical/sphinx-docs-starter-pack/pull/54 )
if not 'ogp_image' in locals():
    ogp_image = 'https://assets.ubuntu.com/v1/253da317-image-document-ubuntudocs.svg'

############################################################
### General configuration
############################################################

exclude_patterns = [
    '_build',
    'Thumbs.db',
    '.DS_Store',
    '.sphinx',
]
exclude_patterns.extend(custom_excludes)

rst_epilog = '''
.. include:: /reuse/links.txt
'''
if 'custom_rst_epilog' in locals():
    rst_epilog = custom_rst_epilog

source_suffix = {
    '.rst': 'restructuredtext',
    '.md': 'markdown',
}

if not 'conf_py_path' in html_context and 'github_folder' in html_context:
    html_context['conf_py_path'] = html_context['github_folder']

# For ignoring specific links
linkcheck_anchors_ignore_for_url = [
    r'https://github\.com/.*'
]
linkcheck_anchors_ignore_for_url.extend(custom_linkcheck_anchors_ignore_for_url)

# Tags cannot be added directly in custom_conf.py, so add them here
for tag in custom_tags:
    tags.add(tag)

############################################################
### Styling
############################################################

# Find the current builder
builder = 'dirhtml'
if '-b' in sys.argv:
    builder = sys.argv[sys.argv.index('-b')+1]

# Setting templates_path for epub makes the build fail
if builder == 'dirhtml' or builder == 'html':
    templates_path = ['.sphinx/_templates']

# Theme configuration
html_theme = 'furo'
html_last_updated_fmt = ''
html_permalinks_icon = '¶'

if html_title == '':
    html_theme_options = {
        'sidebar_hide_name': True
        }

############################################################
### Additional files
############################################################

html_static_path = ['.sphinx/_static']

html_css_files = [
    'custom.css',
    'header.css',
    'github_issue_links.css',
    'furo_colors.css'
]
html_css_files.extend(custom_html_css_files)

html_js_files = ['header-nav.js']
if 'github_issues' in html_context and html_context['github_issues'] and not disable_feedback_button:
    html_js_files.append('github_issue_links.js')
html_js_files.extend(custom_html_js_files)




###########################################################################
#          auto-created readthedocs.org specific configuration            #
###########################################################################


#
# The following code was added during an automated build on readthedocs.org
# It is auto created and injected for every build. The result is based on the
# conf.py.tmpl file found in the readthedocs.org codebase:
# https://github.com/rtfd/readthedocs.org/blob/main/readthedocs/doc_builder/templates/doc_builder/conf.py.tmpl
#
# Note: this file shouldn't rely on extra dependencies.

import importlib
import sys
import os.path

# Borrowed from six.
PY3 = sys.version_info[0] == 3
string_types = str if PY3 else basestring

from sphinx import version_info

# Get suffix for proper linking to GitHub
# This is deprecated in Sphinx 1.3+,
# as each page can have its own suffix
if globals().get('source_suffix', False):
    if isinstance(source_suffix, string_types):
        SUFFIX = source_suffix
    elif isinstance(source_suffix, (list, tuple)):
        # Sphinx >= 1.3 supports list/tuple to define multiple suffixes
        SUFFIX = source_suffix[0]
    elif isinstance(source_suffix, dict):
        # Sphinx >= 1.8 supports a mapping dictionary for multiple suffixes
        SUFFIX = list(source_suffix.keys())[0]  # make a ``list()`` for py2/py3 compatibility
    else:
        # default to .rst
        SUFFIX = '.rst'
else:
    SUFFIX = '.rst'

# Add RTD Static Path. Add to the end because it overwrites previous files.
if not 'html_static_path' in globals():
    html_static_path = []
if os.path.exists('_static'):
    html_static_path.append('_static')

# Define this variable in case it's not defined by the user.
# It defaults to `alabaster` which is the default from Sphinx.
# https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_theme
html_theme = globals().get('html_theme', 'alabaster')

#Add project information to the template context.
context = {
    'html_theme': html_theme,
    'current_version': "188",
    'version_slug': "188",
    'MEDIA_URL': "https://media.readthedocs.com/media/",
    'STATIC_URL': "https://assets.readthedocs.com/",
    'PRODUCTION_DOMAIN': "readthedocs.com",
    'proxied_static_path': "/_/static/",
    'versions': [
    ("latest", "/en/latest/"),
    ],
    'downloads': [ 
    ],
    'subprojects': [ 
    ],
    'slug': 'canonical-microovn',
    'name': u'MicroOVN',
    'rtd_language': u'en',
    'programming_language': u'go',
    'canonical_url': '',
    'analytics_code': 'None',
    'single_version': False,
    'conf_py_path': '/docs/',
    'api_host': 'https://readthedocs.com',
    'github_user': 'canonical',
    'proxied_api_host': '/_',
    'github_repo': 'microovn',
    'github_version': '2ac2d9359d6941cca68ef136331767322cb114f6',
    'display_github': True,
    'bitbucket_user': 'None',
    'bitbucket_repo': 'None',
    'bitbucket_version': '2ac2d9359d6941cca68ef136331767322cb114f6',
    'display_bitbucket': False,
    'gitlab_user': 'None',
    'gitlab_repo': 'None',
    'gitlab_version': '2ac2d9359d6941cca68ef136331767322cb114f6',
    'display_gitlab': False,
    'READTHEDOCS': True,
    'using_theme': (html_theme == "default"),
    'new_theme': (html_theme == "sphinx_rtd_theme"),
    'source_suffix': SUFFIX,
    'ad_free': False,
    'docsearch_disabled': False,
    'user_analytics_code': '',
    'global_analytics_code': 'UA-17997319-2',
    'commit': '2ac2d935',
}

# For sphinx >=1.8 we can use html_baseurl to set the canonical URL.
# https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_baseurl
if version_info >= (1, 8):
    if not globals().get('html_baseurl'):
        html_baseurl = context['canonical_url']
    context['canonical_url'] = None





if 'html_context' in globals():
    for key in context:
        if key not in html_context:
            html_context[key] = context[key]
else:
    html_context = context

# Add custom RTD extension
if 'extensions' in globals():
    # Insert at the beginning because it can interfere
    # with other extensions.
    # See https://github.com/rtfd/readthedocs.org/pull/4054
    extensions.insert(0, "readthedocs_ext.readthedocs")
else:
    extensions = ["readthedocs_ext.readthedocs"]

# Add External version warning banner to the external version documentation
if 'external' == 'external':
    extensions.insert(1, "readthedocs_ext.external_version_warning")
    readthedocs_vcs_url = 'https://github.com/canonical/microovn/pull/188'
    readthedocs_build_url = 'https://readthedocs.com/projects/canonical-microovn/builds/2526495/'

project_language = 'en'

# User's Sphinx configurations
language_user = globals().get('language', None)
latex_engine_user = globals().get('latex_engine', None)
latex_elements_user = globals().get('latex_elements', None)

# Remove this once xindy gets installed in Docker image and XINDYOPS
# env variable is supported
# https://github.com/rtfd/readthedocs-docker-images/pull/98
latex_use_xindy = False

chinese = any([
    language_user in ('zh_CN', 'zh_TW'),
    project_language in ('zh_CN', 'zh_TW'),
])

japanese = any([
    language_user == 'ja',
    project_language == 'ja',
])

if chinese:
    latex_engine = latex_engine_user or 'xelatex'

    latex_elements_rtd = {
        'preamble': '\\usepackage[UTF8]{ctex}\n',
    }
    latex_elements = latex_elements_user or latex_elements_rtd
elif japanese:
    latex_engine = latex_engine_user or 'platex'

# Make sure our build directory is always excluded
exclude_patterns = globals().get('exclude_patterns', [])
exclude_patterns.extend(['_build'])

[rtd-command-info] start-time: 2024-10-04T10:20:08.159527Z, end-time: 2024-10-04T10:20:10.350301Z, duration: 2, exit-code: 0
python -m sphinx -T -W --keep-going -b dirhtml -d _build/doctrees -D language=en . $READTHEDOCS_OUTPUT/html
Running Sphinx v8.0.2
loading translations [en]... done
matplotlib is not installed, social cards will not be generated
making output directory... done
myst v4.0.0: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions={'deflist', 'substitution', 'linkify'}, disable_syntax=[], all_links_external=False, links_external_new_tab=False, url_schemes=('http', 'https', 'mailto', 'ftp'), ref_domains=None, fence_as_directive=set(), number_code_blocks=[], title_to_header=False, heading_anchors=0, heading_slug_func=None, html_meta={}, footnote_sort=True, footnote_transition=True, words_per_minute=200, substitutions={}, linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area', enable_checkboxes=False, suppress_warnings=[], highlight_code_blocks=True)
building [mo]: targets for 0 po files that are out of date
writing output... 
building [dirhtml]: targets for 22 source files that are out of date
updating environment: [new config] 22 added, 0 changed, 0 removed
reading sources... [  5%] developers/building
reading sources... [  9%] developers/index
reading sources... [ 14%] developers/release-process
reading sources... [ 18%] developers/testing
reading sources... [ 23%] explanation/index
reading sources... [ 27%] explanation/tracks-and-upgrades
reading sources... [ 32%] help-woke
reading sources... [ 36%] how-to/downscaling
reading sources... [ 41%] how-to/index
reading sources... [ 45%] how-to/logs
reading sources... [ 50%] how-to/major-upgrades
reading sources... [ 55%] how-to/ovn-underlay
reading sources... [ 59%] how-to/service-control
reading sources... [ 64%] how-to/tls
reading sources... [ 68%] index
reading sources... [ 73%] readme
reading sources... [ 77%] reference/index
reading sources... [ 82%] reference/services
reading sources... [ 86%] setup
reading sources... [ 91%] tutorial/index
reading sources... [ 95%] tutorial/multi-node
reading sources... [100%] tutorial/single-node

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... 
copying static files... done
copying extra files... done
copying assets: done
writing output... [  5%] developers/building
/home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages/readthedocs_ext/readthedocs.py:106: RemovedInSphinx90Warning: 'sphinx.builders.html.DirectoryHTMLBuilder.css_files' is deprecated. Check CHANGES for Sphinx API modifications.
  if inject_css and theme_css not in app.builder.css_files:
/home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages/readthedocs_ext/readthedocs.py:106: RemovedInSphinx90Warning: The str interface for _CascadingStyleSheet objects is deprecated. Use css.filename instead.
  if inject_css and theme_css not in app.builder.css_files:
/home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages/readthedocs_ext/readthedocs.py:120: RemovedInSphinx90Warning: 'sphinx.builders.html.DirectoryHTMLBuilder.script_files' is deprecated. Check CHANGES for Sphinx API modifications.
  hasattr(app.builder, 'script_files'),
/home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages/readthedocs_ext/readthedocs.py:121: RemovedInSphinx90Warning: 'sphinx.builders.html.DirectoryHTMLBuilder.script_files' is deprecated. Check CHANGES for Sphinx API modifications.
  js_file not in app.builder.script_files,
/home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages/readthedocs_ext/readthedocs.py:121: RemovedInSphinx90Warning: The str interface for _JavaScript objects is deprecated. Use js.filename instead.
  js_file not in app.builder.script_files,
/home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages/sphinx_tabs/tabs.py:335: RemovedInSphinx90Warning: The str interface for _JavaScript objects is deprecated. Use js.filename instead.
  if path.suffix == ".js" and path.as_posix() in context["script_files"]:
/home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/188/lib/python3.11/site-packages/sphinx_tabs/tabs.py:336: RemovedInSphinx90Warning: The str interface for _JavaScript objects is deprecated. Use js.filename instead.
  context["script_files"].remove(path.as_posix())
writing output... [  9%] developers/index
writing output... [ 14%] developers/release-process
writing output... [ 18%] developers/testing
writing output... [ 23%] explanation/index
writing output... [ 27%] explanation/tracks-and-upgrades
writing output... [ 32%] help-woke
writing output... [ 36%] how-to/downscaling
writing output... [ 41%] how-to/index
writing output... [ 45%] how-to/logs
writing output... [ 50%] how-to/major-upgrades
writing output... [ 55%] how-to/ovn-underlay
writing output... [ 59%] how-to/service-control
writing output... [ 64%] how-to/tls
writing output... [ 68%] index
writing output... [ 73%] readme
writing output... [ 77%] reference/index
writing output... [ 82%] reference/services
writing output... [ 86%] setup
writing output... [ 91%] tutorial/index
writing output... [ 95%] tutorial/multi-node
writing output... [100%] tutorial/single-node

generating indices... genindex done
writing additional pages... search done
dumping search index in English (code: en)... done
dumping object inventory... done
Updating searchtools for Read the Docs search... build succeeded.

The HTML pages are in ../_readthedocs/html.