Read the Docs build information Build id: 4144116 Project: canonical-microovn Version: 345 Commit: 91e9507b03a093e339562d9bc4bc37c05576731c Date: 2026-06-25T03:53:12.429195Z State: finished Success: True [rtd-command-info] start-time: 2026-06-25T03:53:13.247544Z, end-time: 2026-06-25T03:53:13.895360Z, duration: 0, exit-code: 0 git clone --depth 1 https://github.com/canonical/microovn . Cloning into '.'... [rtd-command-info] start-time: 2026-06-25T03:53:13.979347Z, end-time: 2026-06-25T03:53:14.534410Z, duration: 0, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 pull/345/head:external-345 From https://github.com/canonical/microovn * [new ref] refs/pull/345/head -> external-345 [rtd-command-info] start-time: 2026-06-25T03:53:15.208198Z, end-time: 2026-06-25T03:53:15.264239Z, duration: 0, exit-code: 0 git checkout --force 91e9507b03a093e339562d9bc4bc37c05576731c Note: switching to '91e9507b03a093e339562d9bc4bc37c05576731c'. 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 Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 91e9507 docs: add 404 settings [rtd-command-info] start-time: 2026-06-25T03:53:15.344971Z, end-time: 2026-06-25T03:53:15.389347Z, 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" jobs: post_checkout: - git fetch --unshallow || true # Cancel building pull requests when there aren't changed in the docs directory. # If there are no changes (git diff exits with 0) we force the command to return with 183. # This is a special exit code on Read the Docs that will cancel the build immediately. # https://docs.readthedocs.io/en/stable/build-customization.html#cancel-build-based-on-a-condition - | if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- 'docs/' '.readthedocs.yaml'; then exit 183; fi # 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: 2026-06-25T03:53:15.476557Z, end-time: 2026-06-25T03:53:16.051292Z, duration: 0, exit-code: 0 git fetch --unshallow || true [rtd-command-info] start-time: 2026-06-25T03:53:16.129343Z, end-time: 2026-06-25T03:53:16.172253Z, duration: 0, exit-code: 0 if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- 'docs/' '.readthedocs.yaml'; then exit 183; fi [rtd-command-info] start-time: 2026-06-25T03:53:20.649938Z, end-time: 2026-06-25T03:53:20.709994Z, duration: 0, exit-code: 0 asdf global python 3.11.14 [rtd-command-info] start-time: 2026-06-25T03:53:21.090107Z, end-time: 2026-06-25T03:53:21.726392Z, duration: 0, exit-code: 0 python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH created virtual environment CPython3.11.14.final.0-64 in 381ms creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345, 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: 2026-06-25T03:53:21.813421Z, end-time: 2026-06-25T03:53:26.571339Z, duration: 4, 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/345/lib/python3.11/site-packages (23.1) Collecting pip Downloading pip-26.1.2-py3-none-any.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 13.6 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (67.6.1) Collecting setuptools Downloading setuptools-82.0.1-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 26.9 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-26.1.2 setuptools-82.0.1 [rtd-command-info] start-time: 2026-06-25T03:53:26.672708Z, end-time: 2026-06-25T03:53:31.382213Z, duration: 4, exit-code: 0 python -m pip install --upgrade --no-cache-dir sphinx Collecting sphinx Downloading sphinx-9.0.4-py3-none-any.whl.metadata (5.8 kB) Collecting sphinxcontrib-applehelp>=1.0.7 (from sphinx) Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-devhelp>=1.0.6 (from sphinx) Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-htmlhelp>=2.0.6 (from sphinx) Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-jsmath>=1.0.1 (from sphinx) Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl.metadata (1.4 kB) Collecting sphinxcontrib-qthelp>=1.0.6 (from sphinx) Downloading sphinxcontrib_qthelp-2.0.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 Jinja2>=3.1 (from sphinx) Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB) Collecting Pygments>=2.17 (from sphinx) Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB) Collecting docutils<0.23,>=0.20 (from sphinx) Downloading docutils-0.22.4-py3-none-any.whl.metadata (15 kB) Collecting snowballstemmer>=2.2 (from sphinx) Downloading snowballstemmer-3.1.1-py3-none-any.whl.metadata (7.9 kB) Collecting babel>=2.13 (from sphinx) Downloading babel-2.18.0-py3-none-any.whl.metadata (2.2 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-2.0.0-py2.py3-none-any.whl.metadata (1.5 kB) Collecting requests>=2.30.0 (from sphinx) Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB) Collecting roman-numerals>=1.0.0 (from sphinx) Downloading roman_numerals-4.1.0-py3-none-any.whl.metadata (3.3 kB) Collecting packaging>=23.0 (from sphinx) Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB) Collecting MarkupSafe>=2.0 (from Jinja2>=3.1->sphinx) Downloading markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB) Collecting charset_normalizer<4,>=2 (from requests>=2.30.0->sphinx) Downloading charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB) Collecting idna<4,>=2.5 (from requests>=2.30.0->sphinx) Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB) Collecting urllib3<3,>=1.26 (from requests>=2.30.0->sphinx) Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB) Collecting certifi>=2023.5.7 (from requests>=2.30.0->sphinx) Downloading certifi-2026.6.17-py3-none-any.whl.metadata (2.5 kB) Downloading sphinx-9.0.4-py3-none-any.whl (3.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.9/3.9 MB 165.9 MB/s 0:00:00 Downloading docutils-0.22.4-py3-none-any.whl (633 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 633.2/633.2 kB 717.8 MB/s 0:00:00 Downloading alabaster-1.0.0-py3-none-any.whl (13 kB) Downloading babel-2.18.0-py3-none-any.whl (10.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 389.1 MB/s 0:00:00 Downloading imagesize-2.0.0-py2.py3-none-any.whl (9.4 kB) Downloading jinja2-3.1.6-py3-none-any.whl (134 kB) Downloading markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB) Downloading packaging-26.2-py3-none-any.whl (100 kB) Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 842.5 MB/s 0:00:00 Downloading requests-2.34.2-py3-none-any.whl (73 kB) Downloading charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (214 kB) Downloading idna-3.18-py3-none-any.whl (65 kB) Downloading urllib3-2.7.0-py3-none-any.whl (131 kB) Downloading certifi-2026.6.17-py3-none-any.whl (133 kB) Downloading roman_numerals-4.1.0-py3-none-any.whl (7.7 kB) Downloading snowballstemmer-3.1.1-py3-none-any.whl (104 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_htmlhelp-2.1.0-py3-none-any.whl (98 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 sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 kB) Installing collected packages: urllib3, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, roman-numerals, Pygments, packaging, MarkupSafe, imagesize, idna, docutils, charset_normalizer, certifi, babel, alabaster, requests, Jinja2, sphinx Successfully installed Jinja2-3.1.6 MarkupSafe-3.0.3 Pygments-2.20.0 alabaster-1.0.0 babel-2.18.0 certifi-2026.6.17 charset_normalizer-3.4.7 docutils-0.22.4 idna-3.18 imagesize-2.0.0 packaging-26.2 requests-2.34.2 roman-numerals-4.1.0 snowballstemmer-3.1.1 sphinx-9.0.4 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.7.0 [rtd-command-info] start-time: 2026-06-25T03:53:31.474001Z, end-time: 2026-06-25T03:53:36.165214Z, duration: 4, exit-code: 0 python -m pip install --exists-action=w --no-cache-dir -r docs/.sphinx/requirements.txt Requirement already satisfied: sphinx in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from -r docs/.sphinx/requirements.txt (line 1)) (9.0.4) Collecting sphinx-autobuild (from -r docs/.sphinx/requirements.txt (line 2)) Downloading sphinx_autobuild-2025.8.25-py3-none-any.whl.metadata (8.5 kB) Collecting sphinx-design (from -r docs/.sphinx/requirements.txt (line 3)) Downloading sphinx_design-0.7.0-py3-none-any.whl.metadata (5.5 kB) Collecting furo (from -r docs/.sphinx/requirements.txt (line 4)) Downloading furo-2025.12.19-py3-none-any.whl.metadata (4.9 kB) Collecting sphinx-tabs (from -r docs/.sphinx/requirements.txt (line 5)) Downloading sphinx_tabs-3.5.0-py3-none-any.whl.metadata (6.6 kB) Collecting sphinx-reredirects (from -r docs/.sphinx/requirements.txt (line 6)) Downloading sphinx_reredirects-1.1.0-py3-none-any.whl.metadata (4.7 kB) Collecting pyspelling (from -r docs/.sphinx/requirements.txt (line 7)) Downloading pyspelling-2.12.1-py3-none-any.whl.metadata (3.7 kB) Collecting sphinxext-opengraph (from -r docs/.sphinx/requirements.txt (line 8)) Downloading sphinxext_opengraph-0.13.0-py3-none-any.whl.metadata (2.7 kB) Collecting lxd-sphinx-extensions (from -r docs/.sphinx/requirements.txt (line 9)) Downloading lxd_sphinx_extensions-0.0.16-py3-none-any.whl.metadata (544 bytes) Collecting sphinx-copybutton (from -r docs/.sphinx/requirements.txt (line 10)) Downloading sphinx_copybutton-0.5.2-py3-none-any.whl.metadata (3.2 kB) Collecting myst-parser (from -r docs/.sphinx/requirements.txt (line 11)) Downloading myst_parser-5.1.0-py3-none-any.whl.metadata (5.6 kB) Collecting sphinx-sitemap~=2.9 (from -r docs/.sphinx/requirements.txt (line 12)) Downloading sphinx_sitemap-2.9.0-py3-none-any.whl.metadata (3.4 kB) Collecting sphinx-notfound-page~=1.1 (from -r docs/.sphinx/requirements.txt (line 13)) Downloading sphinx_notfound_page-1.1.0-py3-none-any.whl.metadata (2.9 kB) Collecting sphinx-last-updated-by-git (from sphinx-sitemap~=2.9->-r docs/.sphinx/requirements.txt (line 12)) Downloading sphinx_last_updated_by_git-0.3.8-py3-none-any.whl.metadata (7.1 kB) Requirement already satisfied: sphinxcontrib-applehelp>=1.0.7 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: sphinxcontrib-devhelp>=1.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2.1.0) Requirement already satisfied: sphinxcontrib-jsmath>=1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (1.0.1) Requirement already satisfied: sphinxcontrib-qthelp>=1.0.6 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: Jinja2>=3.1 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (3.1.6) Requirement already satisfied: Pygments>=2.17 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2.20.0) Requirement already satisfied: docutils<0.23,>=0.20 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (0.22.4) Requirement already satisfied: snowballstemmer>=2.2 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (3.1.1) Requirement already satisfied: babel>=2.13 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2.18.0) Requirement already satisfied: alabaster>=0.7.14 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (1.0.0) Requirement already satisfied: imagesize>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2.0.0) Requirement already satisfied: requests>=2.30.0 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2.34.2) Requirement already satisfied: roman-numerals>=1.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (4.1.0) Requirement already satisfied: packaging>=23.0 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from sphinx->-r docs/.sphinx/requirements.txt (line 1)) (26.2) Collecting colorama>=0.4.6 (from sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 2)) 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 2)) Downloading starlette-1.3.1-py3-none-any.whl.metadata (6.4 kB) Collecting uvicorn>=0.25 (from sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 2)) Downloading uvicorn-0.49.0-py3-none-any.whl.metadata (6.7 kB) Collecting watchfiles>=0.20 (from sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 2)) Downloading watchfiles-1.2.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 2)) Downloading websockets-16.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (6.8 kB) Collecting beautifulsoup4 (from furo->-r docs/.sphinx/requirements.txt (line 4)) Downloading beautifulsoup4-4.15.0-py3-none-any.whl.metadata (3.8 kB) Collecting sphinx-basic-ng>=1.0.0.beta2 (from furo->-r docs/.sphinx/requirements.txt (line 4)) Downloading sphinx_basic_ng-1.0.0b2-py3-none-any.whl.metadata (1.5 kB) Collecting accessible-pygments>=0.0.5 (from furo->-r docs/.sphinx/requirements.txt (line 4)) Downloading accessible_pygments-0.0.5-py3-none-any.whl.metadata (10 kB) Collecting html5lib (from pyspelling->-r docs/.sphinx/requirements.txt (line 7)) Downloading html5lib-1.1-py2.py3-none-any.whl.metadata (16 kB) Collecting lxml (from pyspelling->-r docs/.sphinx/requirements.txt (line 7)) Downloading lxml-6.1.1-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (3.5 kB) Collecting markdown (from pyspelling->-r docs/.sphinx/requirements.txt (line 7)) Downloading markdown-3.10.2-py3-none-any.whl.metadata (5.1 kB) Collecting pyyaml (from pyspelling->-r docs/.sphinx/requirements.txt (line 7)) Downloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB) Collecting soupsieve>=1.8 (from pyspelling->-r docs/.sphinx/requirements.txt (line 7)) Downloading soupsieve-2.8.4-py3-none-any.whl.metadata (4.6 kB) Collecting wcmatch>=8.5 (from pyspelling->-r docs/.sphinx/requirements.txt (line 7)) Downloading wcmatch-10.1-py3-none-any.whl.metadata (5.1 kB) Collecting canonical-sphinx-extensions (from lxd-sphinx-extensions->-r docs/.sphinx/requirements.txt (line 9)) Downloading canonical_sphinx_extensions-0.0.34-py3-none-any.whl.metadata (16 kB) Collecting markdown-it-py~=4.2 (from myst-parser->-r docs/.sphinx/requirements.txt (line 11)) Downloading markdown_it_py-4.2.0-py3-none-any.whl.metadata (7.4 kB) Collecting mdit-py-plugins>=0.6.1,~=0.6 (from myst-parser->-r docs/.sphinx/requirements.txt (line 11)) Downloading mdit_py_plugins-0.6.1-py3-none-any.whl.metadata (2.9 kB) Collecting mdurl~=0.1 (from markdown-it-py~=4.2->myst-parser->-r docs/.sphinx/requirements.txt (line 11)) Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB) Requirement already satisfied: MarkupSafe>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from Jinja2>=3.1->sphinx->-r docs/.sphinx/requirements.txt (line 1)) (3.0.3) Requirement already satisfied: charset_normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from requests>=2.30.0->sphinx->-r docs/.sphinx/requirements.txt (line 1)) (3.4.7) Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from requests>=2.30.0->sphinx->-r docs/.sphinx/requirements.txt (line 1)) (3.18) Requirement already satisfied: urllib3<3,>=1.26 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from requests>=2.30.0->sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2.7.0) Requirement already satisfied: certifi>=2023.5.7 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/envs/345/lib/python3.11/site-packages (from requests>=2.30.0->sphinx->-r docs/.sphinx/requirements.txt (line 1)) (2026.6.17) Collecting anyio<5,>=3.6.2 (from starlette>=0.35->sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 2)) Downloading anyio-4.14.1-py3-none-any.whl.metadata (4.6 kB) Collecting typing-extensions>=4.10.0 (from starlette>=0.35->sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 2)) Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB) Collecting click>=7.0 (from uvicorn>=0.25->sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 2)) Downloading click-8.4.2-py3-none-any.whl.metadata (2.6 kB) Collecting h11>=0.8 (from uvicorn>=0.25->sphinx-autobuild->-r docs/.sphinx/requirements.txt (line 2)) Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB) Collecting bracex>=2.1.1 (from wcmatch>=8.5->pyspelling->-r docs/.sphinx/requirements.txt (line 7)) Downloading bracex-2.6-py3-none-any.whl.metadata (3.6 kB) Collecting gitpython (from canonical-sphinx-extensions->lxd-sphinx-extensions->-r docs/.sphinx/requirements.txt (line 9)) Downloading gitpython-3.1.50-py3-none-any.whl.metadata (14 kB) Collecting gitdb<5,>=4.0.1 (from gitpython->canonical-sphinx-extensions->lxd-sphinx-extensions->-r docs/.sphinx/requirements.txt (line 9)) Downloading gitdb-4.0.12-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 9)) Downloading smmap-5.0.3-py3-none-any.whl.metadata (4.6 kB) Collecting six>=1.9 (from html5lib->pyspelling->-r docs/.sphinx/requirements.txt (line 7)) Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB) Collecting webencodings (from html5lib->pyspelling->-r docs/.sphinx/requirements.txt (line 7)) Downloading webencodings-0.5.1-py2.py3-none-any.whl.metadata (2.1 kB) Downloading sphinx_sitemap-2.9.0-py3-none-any.whl (6.2 kB) Downloading sphinx_notfound_page-1.1.0-py3-none-any.whl (8.2 kB) Downloading sphinx_autobuild-2025.8.25-py3-none-any.whl (12 kB) Downloading sphinx_design-0.7.0-py3-none-any.whl (2.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 98.1 MB/s 0:00:00 Downloading furo-2025.12.19-py3-none-any.whl (339 kB) Downloading sphinx_tabs-3.5.0-py3-none-any.whl (9.9 kB) Downloading sphinx_reredirects-1.1.0-py3-none-any.whl (6.4 kB) Downloading pyspelling-2.12.1-py3-none-any.whl (45 kB) Downloading sphinxext_opengraph-0.13.0-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 855.8 MB/s 0:00:00 Downloading lxd_sphinx_extensions-0.0.16-py3-none-any.whl (1.3 kB) Downloading sphinx_copybutton-0.5.2-py3-none-any.whl (13 kB) Downloading myst_parser-5.1.0-py3-none-any.whl (85 kB) Downloading markdown_it_py-4.2.0-py3-none-any.whl (91 kB) Downloading mdit_py_plugins-0.6.1-py3-none-any.whl (66 kB) Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB) Downloading accessible_pygments-0.0.5-py3-none-any.whl (1.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 447.1 MB/s 0:00:00 Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB) Downloading soupsieve-2.8.4-py3-none-any.whl (37 kB) Downloading sphinx_basic_ng-1.0.0b2-py3-none-any.whl (22 kB) Downloading starlette-1.3.1-py3-none-any.whl (73 kB) Downloading anyio-4.14.1-py3-none-any.whl (124 kB) Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB) Downloading uvicorn-0.49.0-py3-none-any.whl (71 kB) Downloading click-8.4.2-py3-none-any.whl (119 kB) Downloading h11-0.16.0-py3-none-any.whl (37 kB) Downloading watchfiles-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (456 kB) Downloading wcmatch-10.1-py3-none-any.whl (39 kB) Downloading bracex-2.6-py3-none-any.whl (11 kB) Downloading websockets-16.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (184 kB) Downloading beautifulsoup4-4.15.0-py3-none-any.whl (109 kB) Downloading canonical_sphinx_extensions-0.0.34-py3-none-any.whl (67 kB) Downloading gitpython-3.1.50-py3-none-any.whl (212 kB) Downloading gitdb-4.0.12-py3-none-any.whl (62 kB) Downloading smmap-5.0.3-py3-none-any.whl (24 kB) Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB) Downloading six-1.17.0-py2.py3-none-any.whl (11 kB) Downloading lxml-6.1.1-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2/5.2 MB 557.1 MB/s 0:00:00 Downloading markdown-3.10.2-py3-none-any.whl (108 kB) Downloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (806 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 806.6/806.6 kB 833.6 MB/s 0:00:00 Downloading sphinx_last_updated_by_git-0.3.8-py3-none-any.whl (8.6 kB) Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Installing collected packages: webencodings, websockets, typing-extensions, soupsieve, smmap, six, pyyaml, mdurl, markdown, lxml, h11, colorama, click, bracex, accessible-pygments, wcmatch, uvicorn, markdown-it-py, html5lib, gitdb, beautifulsoup4, anyio, watchfiles, starlette, sphinxext-opengraph, sphinx-tabs, sphinx-reredirects, sphinx-notfound-page, sphinx-last-updated-by-git, sphinx-design, sphinx-copybutton, sphinx-basic-ng, pyspelling, mdit-py-plugins, gitpython, sphinx-sitemap, sphinx-autobuild, myst-parser, furo, canonical-sphinx-extensions, lxd-sphinx-extensions Successfully installed accessible-pygments-0.0.5 anyio-4.14.1 beautifulsoup4-4.15.0 bracex-2.6 canonical-sphinx-extensions-0.0.34 click-8.4.2 colorama-0.4.6 furo-2025.12.19 gitdb-4.0.12 gitpython-3.1.50 h11-0.16.0 html5lib-1.1 lxd-sphinx-extensions-0.0.16 lxml-6.1.1 markdown-3.10.2 markdown-it-py-4.2.0 mdit-py-plugins-0.6.1 mdurl-0.1.2 myst-parser-5.1.0 pyspelling-2.12.1 pyyaml-6.0.3 six-1.17.0 smmap-5.0.3 soupsieve-2.8.4 sphinx-autobuild-2025.8.25 sphinx-basic-ng-1.0.0b2 sphinx-copybutton-0.5.2 sphinx-design-0.7.0 sphinx-last-updated-by-git-0.3.8 sphinx-notfound-page-1.1.0 sphinx-reredirects-1.1.0 sphinx-sitemap-2.9.0 sphinx-tabs-3.5.0 sphinxext-opengraph-0.13.0 starlette-1.3.1 typing-extensions-4.15.0 uvicorn-0.49.0 watchfiles-1.2.0 wcmatch-10.1 webencodings-0.5.1 websockets-16.0 [rtd-command-info] start-time: 2026-06-25T03:53:36.341028Z, end-time: 2026-06-25T03:53:36.384303Z, duration: 0, exit-code: 0 cat docs/conf.py import datetime import os import sys # Configuration file for the Sphinx documentation builder. # # For the full list of built-in configuration values, see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html ############################################################ ### URL configuration ############################################################ version_slug = f"{os.environ.get('READTHEDOCS_VERSION', 'local')}" slug = 'docs/microovn' html_baseurl = f"https://ubuntu.com/docs/microovn/{version_slug}/" ogp_site_url = f"https://ubuntu.com/docs/microovn/{version_slug}/" # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information project = 'MicroOVN' author = 'Canonical Group Ltd' copyright = "%s, %s" % (datetime.date.today().year, author) # release = '1.0' # Open Graph configuration - defines what is displayed in the website preview ogp_site_name = "%project" ogp_image = "https://assets.ubuntu.com/v1/253da317-image-document-ubuntudocs.svg" # Update with the favicon for your product html_favicon = ".sphinx/_static/favicon.png" html_context = { # Change to the discourse instance you want to be able to link to # (use an empty value if you don't want to link) "discourse": "https://discourse.ubuntu.com", # Change to the GitHub info for your project "github_url": "https://github.com/canonical/microovn", # Change to the branch for this version of the documentation "github_version": "main", # Change to the folder that contains the documentation (usually "/" or # "/docs/") "github_folder": "/doc/", # Change to an empty value if your GitHub repo doesn't have issues enabled "github_issues": "" } # Used for related links - no need to change if 'discourse' in html_context: html_context['discourse_prefix'] = html_context['discourse'] + "/t/" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration extensions = [ 'sphinx_design', 'sphinx_tabs.tabs', 'sphinx_reredirects', 'youtube-links', 'related-links', 'custom-rst-roles', 'terminal-output', 'sphinx_copybutton', 'sphinxext.opengraph', 'myst_parser', 'sphinx_sitemap', 'notfound.extension', ] myst_enable_extensions = [ "substitution", "deflist" ] exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', '.sphinx'] notfound_urls_prefix = f'/{slug}/{version_slug}/' notfound_context = { 'title': 'Page not found', 'body': '

Page not found

\n\n

Sorry, but the documentation page that you are looking for was not found.

\n

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).

\n

You can try to use the navigation to locate the content you\'re looking for, or search for a similar page.

\n', } ####################### # Sitemap configuration: https://sphinx-sitemap.readthedocs.io/ ####################### # sphinx-sitemap uses html_baseurl to generate the full URL for each page: sitemap_url_scheme = "{link}" # Include `lastmod` dates in the sitemap: sitemap_show_lastmod = True # TODO: Exclude pages that aren't user-facing from the sitemap (e.g., module pages # generated by autodoc). # Pages excluded from the sitemap: sitemap_excludes = [ "404/", "genindex/", "search/", ] rst_epilog = """ .. include:: /reuse/links.txt """ source_suffix = { '.rst': 'restructuredtext', '.md': 'markdown', } # Links to ignore when checking links linkcheck_ignore = [ 'http://127.0.0.1:8000' ] # -- Options for HTML output ------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output # 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"] html_theme = 'furo' html_last_updated_fmt = "" html_permalinks_icon = "¶" html_theme_options = { "light_css_variables": { "color-sidebar-background-border": "none", "font-stack": "Ubuntu, -apple-system, Segoe UI, Roboto, Oxygen, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif", "font-stack--monospace": "Ubuntu Mono, Consolas, Monaco, Courier, monospace", "color-foreground-primary": "#111", "color-foreground-secondary": "var(--color-foreground-primary)", "color-foreground-muted": "#333", "color-background-secondary": "#FFF", "color-background-hover": "#f2f2f2", "color-brand-primary": "#111", "color-brand-content": "#06C", "color-api-background": "#cdcdcd", "color-inline-code-background": "rgba(0,0,0,.03)", "color-sidebar-link-text": "#111", "color-sidebar-item-background--current": "#ebebeb", "color-sidebar-item-background--hover": "#f2f2f2", "toc-font-size": "var(--font-size--small)", "color-admonition-title-background--note": "var(--color-background-primary)", "color-admonition-title-background--tip": "var(--color-background-primary)", "color-admonition-title-background--important": "var(--color-background-primary)", "color-admonition-title-background--caution": "var(--color-background-primary)", "color-admonition-title--note": "#24598F", "color-admonition-title--tip": "#24598F", "color-admonition-title--important": "#C7162B", "color-admonition-title--caution": "#F99B11", "color-highlighted-background": "#EbEbEb", "color-link-underline": "var(--color-background-primary)", "color-link-underline--hover": "var(--color-background-primary)", "color-version-popup": "#772953" }, "dark_css_variables": { "color-foreground-secondary": "var(--color-foreground-primary)", "color-foreground-muted": "#CDCDCD", "color-background-secondary": "var(--color-background-primary)", "color-background-hover": "#666", "color-brand-primary": "#fff", "color-brand-content": "#06C", "color-sidebar-link-text": "#f7f7f7", "color-sidebar-item-background--current": "#666", "color-sidebar-item-background--hover": "#333", "color-admonition-background": "transparent", "color-admonition-title-background--note": "var(--color-background-primary)", "color-admonition-title-background--tip": "var(--color-background-primary)", "color-admonition-title-background--important": "var(--color-background-primary)", "color-admonition-title-background--caution": "var(--color-background-primary)", "color-admonition-title--note": "#24598F", "color-admonition-title--tip": "#24598F", "color-admonition-title--important": "#C7162B", "color-admonition-title--caution": "#F99B11", "color-highlighted-background": "#666", "color-link-underline": "var(--color-background-primary)", "color-link-underline--hover": "var(--color-background-primary)", "color-version-popup": "#F29879" }, } html_static_path = ['.sphinx/_static'] html_css_files = [ 'custom.css', 'github_issue_links.css', ] html_js_files = ['overwrite_links.js'] if "github_issues" in html_context and html_context["github_issues"]: html_js_files.append('github_issue_links.js') # Set up redirects (https://documatt.gitlab.io/sphinx-reredirects/usage.html) # For example: "explanation/old-name.html": "../how-to/prettify.html", redirects = {} [rtd-command-info] start-time: 2026-06-25T03:53:36.474561Z, end-time: 2026-06-25T03:53:37.815558Z, duration: 1, exit-code: 0 python -m sphinx -T -W --keep-going -b dirhtml -d _build/doctrees -D language=en . $READTHEDOCS_OUTPUT/html Running Sphinx v9.0.4 loading translations [en]... done matplotlib is not installed, social cards will not be generated making output directory... done myst v5.1.0: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions={'substitution', 'deflist'}, 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, strikethrough_single_tilde=False, colon_fence_exact_match=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 9 source files that are out of date updating environment: [new config] 9 added, 0 changed, 0 removed reading sources... [ 11%] doc-cheat-sheet reading sources... [ 22%] how-to/downscaling reading sources... [ 33%] how-to/index reading sources... [ 44%] how-to/logs reading sources... [ 56%] how-to/tls reading sources... [ 67%] index reading sources... [ 78%] readme reading sources... [ 89%] reference/index reading sources... [100%] reference/services getting Git timestamps for source files... [ 33%] . getting Git timestamps for source files... [ 67%] how-to getting Git timestamps for source files... [100%] reference getting Git timestamps for dependencies... [100%] reuse looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... Writing evaluated template result to /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/checkouts/345/_readthedocs/html/_static/language_data.js Writing evaluated template result to /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/checkouts/345/_readthedocs/html/_static/basic.css Writing evaluated template result to /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/checkouts/345/_readthedocs/html/_static/documentation_options.js Writing evaluated template result to /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/checkouts/345/_readthedocs/html/_static/copybutton.js copying static files: done copying extra files... copying extra files: done copying assets: done writing output... [ 11%] doc-cheat-sheet writing output... [ 22%] how-to/downscaling writing output... [ 33%] how-to/index writing output... [ 44%] how-to/logs writing output... [ 56%] how-to/tls writing output... [ 67%] index writing output... [ 78%] readme writing output... [ 89%] reference/index writing output... [100%] reference/services generating indices... genindex done writing additional pages... search done dumping search index in English (code: en)... done dumping object inventory... done sphinx-sitemap: sitemap.xml was generated for URL https://ubuntu.com/docs/microovn/345/ in /home/docs/checkouts/readthedocs.org/user_builds/canonical-microovn/checkouts/345/_readthedocs/html/sitemap.xml build succeeded. The HTML pages are in ../_readthedocs/html.