Read the Docs build information Build id: 2515501 Project: canonical-k8s-snap Version: 692 Commit: 97c287bbadf60134f02616cbbd04fadf7e28e194 Date: 2024-09-30T12:16:29.287728Z State: finished Success: False [rtd-command-info] start-time: 2024-09-30T12:16:30.551150Z, end-time: 2024-09-30T12:16:31.236885Z, duration: 0, exit-code: 0 git clone --depth 1 https://github.com/canonical/k8s-snap.git . Cloning into '.'... [rtd-command-info] start-time: 2024-09-30T12:16:31.333730Z, end-time: 2024-09-30T12:16:31.878801Z, duration: 0, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 pull/692/head:external-692 From https://github.com/canonical/k8s-snap * [new ref] refs/pull/692/head -> external-692 [rtd-command-info] start-time: 2024-09-30T12:16:32.025145Z, end-time: 2024-09-30T12:16:32.128907Z, duration: 0, exit-code: 0 git checkout --force 97c287bbadf60134f02616cbbd04fadf7e28e194 Note: switching to '97c287bbadf60134f02616cbbd04fadf7e28e194'. 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 97c287b Remove empty lines and add separate note about the A-A cluster [rtd-command-info] start-time: 2024-09-30T12:16:32.213109Z, end-time: 2024-09-30T12:16:32.273975Z, duration: 0, exit-code: 0 cat docs/tools/.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.12" jobs: post_checkout: # Cancel building pull requests when there aren't changed in the docs directory or YAML file. # # https://docs.readthedocs.io/en/latest/build-customization.html#cancel-build-based-on-a-condition # 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. - | if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- docs/ .readthedocs.yaml; then exit 183; fi pre_build: - cp -r docs/src/* docs/tools/ # Build documentation in the docs/ directory with Sphinx sphinx: builder: dirhtml configuration: docs/tools/conf.py # 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/tools/.sphinx/requirements.txt [rtd-command-info] start-time: 2024-09-30T12:16:32.362761Z, end-time: 2024-09-30T12:16:32.431646Z, 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: 2024-09-30T12:16:38.757092Z, end-time: 2024-09-30T12:16:38.857754Z, duration: 0, exit-code: 0 asdf global python 3.12.3 [rtd-command-info] start-time: 2024-09-30T12:16:39.305746Z, end-time: 2024-09-30T12:16:40.483541Z, duration: 1, exit-code: 0 python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH created virtual environment CPython3.12.3.final.0-64 in 822ms creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692, 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-09-30T12:16:40.563321Z, end-time: 2024-09-30T12:16:53.168036Z, duration: 12, 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-k8s-snap/envs/692/lib/python3.12/site-packages (23.1) Collecting pip Downloading pip-24.2-py3-none-any.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 9.0 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (67.6.1) Collecting setuptools Downloading setuptools-75.1.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 18.8 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-09-30T12:16:53.255103Z, end-time: 2024-09-30T12:17:02.786753Z, duration: 9, 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-cp312-cp312-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-cp312-cp312-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 113.5 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 213.5 MB/s eta 0:00:00 Downloading docutils-0.21.2-py3-none-any.whl (587 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 587.4/587.4 kB 311.4 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 339.2 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-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (141 kB) Downloading idna-3.10-py3-none-any.whl (70 kB) Downloading MarkupSafe-2.1.5-cp312-cp312-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-09-30T12:17:02.886099Z, end-time: 2024-09-30T12:17:28.239478Z, duration: 25, exit-code: 0 python -m pip install --exists-action=w --no-cache-dir -r docs/tools/.sphinx/requirements.txt Collecting canonical-sphinx-extensions (from -r docs/tools/.sphinx/requirements.txt (line 1)) Downloading canonical_sphinx_extensions-0.0.23-py3-none-any.whl.metadata (15 kB) Collecting furo (from -r docs/tools/.sphinx/requirements.txt (line 2)) Downloading furo-2024.8.6-py3-none-any.whl.metadata (5.9 kB) Collecting linkify-it-py (from -r docs/tools/.sphinx/requirements.txt (line 3)) Downloading linkify_it_py-2.0.3-py3-none-any.whl.metadata (8.5 kB) Collecting matplotlib (from -r docs/tools/.sphinx/requirements.txt (line 4)) Downloading matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB) Collecting myst-parser (from -r docs/tools/.sphinx/requirements.txt (line 5)) Downloading myst_parser-4.0.0-py3-none-any.whl.metadata (5.4 kB) Collecting pyspelling (from -r docs/tools/.sphinx/requirements.txt (line 6)) 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-k8s-snap/envs/692/lib/python3.12/site-packages (from -r docs/tools/.sphinx/requirements.txt (line 7)) (8.0.2) Collecting sphinx-autobuild (from -r docs/tools/.sphinx/requirements.txt (line 8)) Downloading sphinx_autobuild-2024.9.19-py3-none-any.whl.metadata (7.7 kB) Collecting sphinx-copybutton (from -r docs/tools/.sphinx/requirements.txt (line 9)) Downloading sphinx_copybutton-0.5.2-py3-none-any.whl.metadata (3.2 kB) Collecting sphinx-design (from -r docs/tools/.sphinx/requirements.txt (line 10)) Downloading sphinx_design-0.6.1-py3-none-any.whl.metadata (5.5 kB) Collecting sphinx-notfound-page (from -r docs/tools/.sphinx/requirements.txt (line 11)) Downloading sphinx_notfound_page-1.0.4-py3-none-any.whl.metadata (2.9 kB) Collecting sphinx-reredirects (from -r docs/tools/.sphinx/requirements.txt (line 12)) Downloading sphinx_reredirects-0.1.5-py3-none-any.whl.metadata (2.6 kB) Collecting sphinx-tabs (from -r docs/tools/.sphinx/requirements.txt (line 13)) Downloading sphinx_tabs-3.4.5-py3-none-any.whl.metadata (6.3 kB) Collecting sphinxcontrib-jquery (from -r docs/tools/.sphinx/requirements.txt (line 14)) Downloading sphinxcontrib_jquery-4.1-py2.py3-none-any.whl.metadata (2.6 kB) Collecting sphinxext-opengraph (from -r docs/tools/.sphinx/requirements.txt (line 15)) Downloading sphinxext_opengraph-0.9.1-py3-none-any.whl.metadata (6.5 kB) Collecting sphinxcontrib-plantuml (from -r docs/tools/.sphinx/requirements.txt (line 16)) Downloading sphinxcontrib-plantuml-0.30.tar.gz (15 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting sphinxcontrib-kroki (from -r docs/tools/.sphinx/requirements.txt (line 17)) Downloading sphinxcontrib-kroki-1.3.0.tar.gz (7.5 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Requirement already satisfied: requests in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from canonical-sphinx-extensions->-r docs/tools/.sphinx/requirements.txt (line 1)) (2.32.3) Collecting beautifulsoup4 (from canonical-sphinx-extensions->-r docs/tools/.sphinx/requirements.txt (line 1)) Downloading beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB) Requirement already satisfied: docutils in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from canonical-sphinx-extensions->-r docs/tools/.sphinx/requirements.txt (line 1)) (0.21.2) Collecting gitpython (from canonical-sphinx-extensions->-r docs/tools/.sphinx/requirements.txt (line 1)) Downloading GitPython-3.1.43-py3-none-any.whl.metadata (13 kB) Collecting sphinx-basic-ng>=1.0.0.beta2 (from furo->-r docs/tools/.sphinx/requirements.txt (line 2)) 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-k8s-snap/envs/692/lib/python3.12/site-packages (from furo->-r docs/tools/.sphinx/requirements.txt (line 2)) (2.18.0) Collecting uc-micro-py (from linkify-it-py->-r docs/tools/.sphinx/requirements.txt (line 3)) Downloading uc_micro_py-1.0.3-py3-none-any.whl.metadata (2.0 kB) Collecting contourpy>=1.0.1 (from matplotlib->-r docs/tools/.sphinx/requirements.txt (line 4)) Downloading contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.4 kB) Collecting cycler>=0.10 (from matplotlib->-r docs/tools/.sphinx/requirements.txt (line 4)) Downloading cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB) Collecting fonttools>=4.22.0 (from matplotlib->-r docs/tools/.sphinx/requirements.txt (line 4)) Downloading fonttools-4.54.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (163 kB) Collecting kiwisolver>=1.3.1 (from matplotlib->-r docs/tools/.sphinx/requirements.txt (line 4)) Downloading kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.3 kB) Collecting numpy>=1.23 (from matplotlib->-r docs/tools/.sphinx/requirements.txt (line 4)) Downloading numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB) Requirement already satisfied: packaging>=20.0 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from matplotlib->-r docs/tools/.sphinx/requirements.txt (line 4)) (24.1) Collecting pillow>=8 (from matplotlib->-r docs/tools/.sphinx/requirements.txt (line 4)) Downloading pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (9.2 kB) Collecting pyparsing>=2.3.1 (from matplotlib->-r docs/tools/.sphinx/requirements.txt (line 4)) Downloading pyparsing-3.1.4-py3-none-any.whl.metadata (5.1 kB) Collecting python-dateutil>=2.7 (from matplotlib->-r docs/tools/.sphinx/requirements.txt (line 4)) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) Requirement already satisfied: jinja2 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from myst-parser->-r docs/tools/.sphinx/requirements.txt (line 5)) (3.1.4) Collecting markdown-it-py~=3.0 (from myst-parser->-r docs/tools/.sphinx/requirements.txt (line 5)) 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/tools/.sphinx/requirements.txt (line 5)) Downloading mdit_py_plugins-0.4.2-py3-none-any.whl.metadata (2.8 kB) Collecting pyyaml (from myst-parser->-r docs/tools/.sphinx/requirements.txt (line 5)) Downloading PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB) Collecting html5lib (from pyspelling->-r docs/tools/.sphinx/requirements.txt (line 6)) Downloading html5lib-1.1-py2.py3-none-any.whl.metadata (16 kB) Collecting lxml (from pyspelling->-r docs/tools/.sphinx/requirements.txt (line 6)) Downloading lxml-5.3.0-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (3.8 kB) Collecting markdown (from pyspelling->-r docs/tools/.sphinx/requirements.txt (line 6)) Downloading Markdown-3.7-py3-none-any.whl.metadata (7.0 kB) Collecting soupsieve>=1.8 (from pyspelling->-r docs/tools/.sphinx/requirements.txt (line 6)) Downloading soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB) Collecting wcmatch>=8.5 (from pyspelling->-r docs/tools/.sphinx/requirements.txt (line 6)) 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-k8s-snap/envs/692/lib/python3.12/site-packages (from sphinx->-r docs/tools/.sphinx/requirements.txt (line 7)) (2.0.0) Requirement already satisfied: sphinxcontrib-devhelp in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from sphinx->-r docs/tools/.sphinx/requirements.txt (line 7)) (2.0.0) Requirement already satisfied: sphinxcontrib-jsmath in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from sphinx->-r docs/tools/.sphinx/requirements.txt (line 7)) (1.0.1) Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from sphinx->-r docs/tools/.sphinx/requirements.txt (line 7)) (2.1.0) Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from sphinx->-r docs/tools/.sphinx/requirements.txt (line 7)) (2.0.0) Requirement already satisfied: sphinxcontrib-qthelp in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from sphinx->-r docs/tools/.sphinx/requirements.txt (line 7)) (2.0.0) Requirement already satisfied: snowballstemmer>=2.2 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from sphinx->-r docs/tools/.sphinx/requirements.txt (line 7)) (2.2.0) Requirement already satisfied: babel>=2.13 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from sphinx->-r docs/tools/.sphinx/requirements.txt (line 7)) (2.16.0) Requirement already satisfied: alabaster>=0.7.14 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from sphinx->-r docs/tools/.sphinx/requirements.txt (line 7)) (1.0.0) Requirement already satisfied: imagesize>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from sphinx->-r docs/tools/.sphinx/requirements.txt (line 7)) (1.4.1) Collecting colorama>=0.4.6 (from sphinx-autobuild->-r docs/tools/.sphinx/requirements.txt (line 8)) Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB) Collecting starlette>=0.35 (from sphinx-autobuild->-r docs/tools/.sphinx/requirements.txt (line 8)) Downloading starlette-0.39.2-py3-none-any.whl.metadata (6.0 kB) Collecting uvicorn>=0.25 (from sphinx-autobuild->-r docs/tools/.sphinx/requirements.txt (line 8)) Downloading uvicorn-0.31.0-py3-none-any.whl.metadata (6.6 kB) Collecting watchfiles>=0.20 (from sphinx-autobuild->-r docs/tools/.sphinx/requirements.txt (line 8)) Downloading watchfiles-0.24.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB) Collecting websockets>=11 (from sphinx-autobuild->-r docs/tools/.sphinx/requirements.txt (line 8)) Downloading websockets-13.1-cp312-cp312-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-k8s-snap/envs/692/lib/python3.12/site-packages (from jinja2->myst-parser->-r docs/tools/.sphinx/requirements.txt (line 5)) (2.1.5) Collecting mdurl~=0.1 (from markdown-it-py~=3.0->myst-parser->-r docs/tools/.sphinx/requirements.txt (line 5)) Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB) Collecting six>=1.5 (from python-dateutil>=2.7->matplotlib->-r docs/tools/.sphinx/requirements.txt (line 4)) Downloading six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB) Requirement already satisfied: charset-normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from requests->canonical-sphinx-extensions->-r docs/tools/.sphinx/requirements.txt (line 1)) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from requests->canonical-sphinx-extensions->-r docs/tools/.sphinx/requirements.txt (line 1)) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from requests->canonical-sphinx-extensions->-r docs/tools/.sphinx/requirements.txt (line 1)) (2.2.3) Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages (from requests->canonical-sphinx-extensions->-r docs/tools/.sphinx/requirements.txt (line 1)) (2024.8.30) Collecting anyio<5,>=3.4.0 (from starlette>=0.35->sphinx-autobuild->-r docs/tools/.sphinx/requirements.txt (line 8)) 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/tools/.sphinx/requirements.txt (line 8)) 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/tools/.sphinx/requirements.txt (line 8)) 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/tools/.sphinx/requirements.txt (line 6)) Downloading bracex-2.5.post1-py3-none-any.whl.metadata (3.5 kB) Collecting gitdb<5,>=4.0.1 (from gitpython->canonical-sphinx-extensions->-r docs/tools/.sphinx/requirements.txt (line 1)) Downloading gitdb-4.0.11-py3-none-any.whl.metadata (1.2 kB) Collecting webencodings (from html5lib->pyspelling->-r docs/tools/.sphinx/requirements.txt (line 6)) 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/tools/.sphinx/requirements.txt (line 8)) Downloading sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB) Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->gitpython->canonical-sphinx-extensions->-r docs/tools/.sphinx/requirements.txt (line 1)) Downloading smmap-5.0.1-py3-none-any.whl.metadata (4.3 kB) Downloading canonical_sphinx_extensions-0.0.23-py3-none-any.whl (38 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 matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.3/8.3 MB 222.3 MB/s eta 0:00:00 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.9.19-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 433.4 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 521.5 MB/s eta 0:00:00 Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB) Downloading contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (320 kB) Downloading cycler-0.12.1-py3-none-any.whl (8.3 kB) Downloading fonttools-4.54.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.9/4.9 MB 268.3 MB/s eta 0:00:00 Downloading kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 491.3 MB/s eta 0:00:00 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 numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.0/16.0 MB 258.1 MB/s eta 0:00:00 Downloading pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl (4.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 296.5 MB/s eta 0:00:00 Downloading pyparsing-3.1.4-py3-none-any.whl (104 kB) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 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-cp312-cp312-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-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (165 kB) Downloading beautifulsoup4-4.12.3-py3-none-any.whl (147 kB) Downloading GitPython-3.1.43-py3-none-any.whl (207 kB) Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB) Downloading lxml-5.3.0-cp312-cp312-manylinux_2_28_x86_64.whl (4.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.9/4.9 MB 278.6 MB/s eta 0:00:00 Downloading Markdown-3.7-py3-none-any.whl (106 kB) Downloading PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (767 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 767.5/767.5 kB 516.1 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 gitdb-4.0.11-py3-none-any.whl (62 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 webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Downloading smmap-5.0.1-py3-none-any.whl (24 kB) Downloading sniffio-1.3.1-py3-none-any.whl (10 kB) Building wheels for collected packages: sphinxcontrib-plantuml, sphinxcontrib-kroki Building wheel for sphinxcontrib-plantuml (pyproject.toml): started Building wheel for sphinxcontrib-plantuml (pyproject.toml): finished with status 'done' Created wheel for sphinxcontrib-plantuml: filename=sphinxcontrib_plantuml-0.30-py3-none-any.whl size=11545 sha256=d1728af6df1c8b9664b329e68a48732116ca342d2bdd070c657aa7dd75392d8e Stored in directory: /tmp/pip-ephem-wheel-cache-toi1lwd7/wheels/f3/9c/12/8ea1705e9b329cdf2ecf03169397ee9908f17a2fa8744a9082 Building wheel for sphinxcontrib-kroki (pyproject.toml): started Building wheel for sphinxcontrib-kroki (pyproject.toml): finished with status 'done' Created wheel for sphinxcontrib-kroki: filename=sphinxcontrib_kroki-1.3.0-py3-none-any.whl size=7239 sha256=334a3aaddb68f4bcb8c7b2eb871be5913d615d1fcf487c667bc79ca433237d17 Stored in directory: /tmp/pip-ephem-wheel-cache-toi1lwd7/wheels/9e/8a/32/88a24a2a34a95d7a7183326218e71b7011435d313f032f9937 Successfully built sphinxcontrib-plantuml sphinxcontrib-kroki Installing collected packages: webencodings, websockets, uc-micro-py, soupsieve, sniffio, smmap, six, pyyaml, pyparsing, pillow, numpy, mdurl, markdown, lxml, kiwisolver, h11, fonttools, cycler, colorama, click, bracex, wcmatch, uvicorn, python-dateutil, markdown-it-py, linkify-it-py, html5lib, gitdb, contourpy, beautifulsoup4, anyio, watchfiles, starlette, sphinxext-opengraph, sphinxcontrib-plantuml, sphinxcontrib-kroki, sphinxcontrib-jquery, sphinx-tabs, sphinx-reredirects, sphinx-notfound-page, sphinx-design, sphinx-copybutton, sphinx-basic-ng, pyspelling, mdit-py-plugins, matplotlib, gitpython, sphinx-autobuild, myst-parser, furo, canonical-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 contourpy-1.3.0 cycler-0.12.1 fonttools-4.54.1 furo-2024.8.6 gitdb-4.0.11 gitpython-3.1.43 h11-0.14.0 html5lib-1.1 kiwisolver-1.4.7 linkify-it-py-2.0.3 lxml-5.3.0 markdown-3.7 markdown-it-py-3.0.0 matplotlib-3.9.2 mdit-py-plugins-0.4.2 mdurl-0.1.2 myst-parser-4.0.0 numpy-2.1.1 pillow-10.4.0 pyparsing-3.1.4 pyspelling-2.10 python-dateutil-2.9.0.post0 pyyaml-6.0.2 six-1.16.0 smmap-5.0.1 sniffio-1.3.1 soupsieve-2.6 sphinx-autobuild-2024.9.19 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 sphinxcontrib-kroki-1.3.0 sphinxcontrib-plantuml-0.30 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-09-30T12:17:28.468019Z, end-time: 2024-09-30T12:17:28.539942Z, duration: 0, exit-code: 0 cp -r docs/src/* docs/tools/ [rtd-command-info] start-time: 2024-09-30T12:17:29.057440Z, end-time: 2024-09-30T12:17:29.114225Z, duration: 0, exit-code: 0 cat docs/tools/conf.py import sys import os import yaml 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', 'canonical.youtube-links', 'canonical.related-links', 'canonical.custom-rst-roles', 'canonical.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': '

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', } # 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', '_parts' ] 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) ############################################################ ### Myst configuration ############################################################ if os.path.exists('./reuse/substitutions.yaml'): with open('./reuse/substitutions.yaml', 'r') as fd: myst_substitutions = yaml.safe_load(fd.read()) ########################################################################### # 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': "692", 'version_slug': "692", '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/"), ("staging", "/en/staging/"), ("main", "/en/main/"), ], 'downloads': [ ], 'subprojects': [ ], 'slug': 'canonical-k8s-snap', 'name': u'k8s-snap', 'rtd_language': u'en', 'programming_language': u'go', 'canonical_url': '', 'analytics_code': 'None', 'single_version': False, 'conf_py_path': '/docs/tools/', 'api_host': 'https://readthedocs.com', 'github_user': 'canonical', 'proxied_api_host': '/_', 'github_repo': 'k8s-snap', 'github_version': '97c287bbadf60134f02616cbbd04fadf7e28e194', 'display_github': True, 'bitbucket_user': 'None', 'bitbucket_repo': 'None', 'bitbucket_version': '97c287bbadf60134f02616cbbd04fadf7e28e194', 'display_bitbucket': False, 'gitlab_user': 'None', 'gitlab_repo': 'None', 'gitlab_version': '97c287bbadf60134f02616cbbd04fadf7e28e194', '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': '97c287bb', } # 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/k8s-snap/pull/692' readthedocs_build_url = 'https://readthedocs.com/projects/canonical-k8s-snap/builds/2515501/' 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-09-30T12:17:29.214922Z, end-time: 2024-09-30T12:18:45.537236Z, duration: 76, exit-code: 2 python -m sphinx -T -b dirhtml -d _build/doctrees -D language=en . $READTHEDOCS_OUTPUT/html Running Sphinx v8.0.2 loading translations [en]... done making output directory... done myst v4.0.0: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions={'substitution', 'linkify', '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={product: ..., version: ..., channel: ..., multi_line_example: ...}, 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 88 source files that are out of date updating environment: [new config] 88 added, 0 changed, 0 removed reading sources... [ 1%] capi/explanation/about reading sources... [ 2%] capi/explanation/capi-ck8s reading sources... [ 3%] capi/explanation/index reading sources... [ 5%] capi/explanation/security reading sources... [ 6%] capi/howto/custom-ck8s reading sources... [ 7%] capi/howto/external-etcd reading sources... [ 8%] capi/howto/in-place-upgrades reading sources... [ 9%] capi/howto/index reading sources... [ 10%] capi/howto/migrate-management reading sources... [ 11%] capi/howto/rollout-upgrades reading sources... [ 12%] capi/howto/upgrade-providers reading sources... [ 14%] capi/index reading sources... [ 15%] capi/reference/annotations reading sources... [ 16%] capi/reference/community reading sources... [ 17%] capi/reference/configs reading sources... [ 18%] capi/reference/index reading sources... [ 19%] capi/reference/releases reading sources... [ 20%] capi/tutorial/getting-started reading sources... [ 22%] capi/tutorial/index reading sources... [ 23%] charm/explanation/about reading sources... [ 24%] charm/explanation/channels reading sources... [ 25%] charm/explanation/index reading sources... [ 26%] charm/explanation/security reading sources... [ 27%] charm/howto/charm reading sources... [ 28%] charm/howto/contribute reading sources... [ 30%] charm/howto/cos-lite reading sources... [ 31%] charm/howto/etcd reading sources... [ 32%] charm/howto/index reading sources... [ 33%] charm/howto/install-lxd reading sources... [ 34%] charm/howto/proxy reading sources... [ 35%] charm/index reading sources... [ 36%] charm/reference/architecture reading sources... [ 38%] charm/reference/charms reading sources... [ 39%] charm/reference/community reading sources... [ 40%] charm/reference/index reading sources... [ 41%] charm/reference/proxy reading sources... [ 42%] charm/reference/releases reading sources... [ 43%] charm/tutorial/getting-started reading sources... [ 44%] charm/tutorial/index reading sources... [ 45%] index reading sources... [ 47%] snap/explanation/about reading sources... [ 48%] snap/explanation/certificates reading sources... [ 49%] snap/explanation/channels reading sources... [ 50%] snap/explanation/clustering reading sources... [ 51%] snap/explanation/epa reading sources... [ 52%] snap/explanation/index reading sources... [ 53%] snap/explanation/ingress reading sources... [ 55%] snap/explanation/security reading sources... [ 56%] snap/howto/backup-restore reading sources... [ 57%] snap/howto/contribute reading sources... [ 58%] snap/howto/epa reading sources... [ 59%] snap/howto/external-datastore reading sources... [ 60%] snap/howto/index reading sources... [ 61%] snap/howto/install/index reading sources... [ 62%] snap/howto/install/lxd reading sources... [ 64%] snap/howto/install/multipass reading sources... [ 65%] snap/howto/install/offline reading sources... [ 66%] snap/howto/install/snap reading sources... [ 67%] snap/howto/networking/default-dns reading sources... [ 68%] snap/howto/networking/default-ingress reading sources... [ 69%] snap/howto/networking/default-loadbalancer reading sources... [ 70%] snap/howto/networking/default-network reading sources... [ 72%] snap/howto/networking/dualstack reading sources... [ 73%] snap/howto/networking/index reading sources... [ 74%] snap/howto/proxy reading sources... [ 75%] snap/howto/refresh-certs reading sources... [ 76%] snap/howto/restore-quorum reading sources... [ 77%] snap/howto/storage/ceph reading sources... [ 78%] snap/howto/storage/index reading sources... [ 80%] snap/howto/storage/storage reading sources... [ 81%] snap/howto/support reading sources... [ 82%] snap/howto/two-node-ha reading sources... [ 83%] snap/index reading sources... [ 84%] snap/reference/annotations reading sources... [ 85%] snap/reference/architecture /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/checkouts/692/docs/tools/capi/explanation/index.md.rst:12: WARNING: 'toctree': Unknown option keys: ['globs'] (allowed: ['caption', 'class', 'glob', 'hidden', 'includehidden', 'maxdepth', 'name', 'numbered', 'reversed', 'titlesonly']) [myst.directive_option] /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/checkouts/692/docs/tools/snap/howto/install/lxd.md:198: WARNING: duplicate label explain-rules, other instance in /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/checkouts/692/docs/tools/charm/howto/install-lxd.md /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/checkouts/692/docs/tools/snap/howto/networking/dualstack.md.rst:9: WARNING: Non-consecutive header level increase; H1 to H3 [myst.header] /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/checkouts/692/docs/tools/snap/howto/networking/dualstack.md.rst:15: WARNING: Non-consecutive header level increase; H1 to H3 [myst.header] /home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/checkouts/692/docs/tools/snap/howto/networking/dualstack.md.rst:136: WARNING: Non-consecutive header level increase; H1 to H3 [myst.header] WARNING: kroki plantuml diagram (svg) with source '@startuml\nset separator none\ntitle System Landscape\n\ntop to bottom direction\n\n!include \n!include \n\nPerson(K8sAdmin, "K8s Admin", $descr="", $tags="", $link="")\nPerson(K8sUser, "K8s User", $descr="", $tags="", $link="")\nSystem(CharmK8s, "Charm K8s", $descr="", $tags="", $link="")\nSystem(LoadBalancer, "Load Balancer", $descr="External LB, offered by the substrate (cloud). Could be replaced by any alternative solution.", $tags="", $link="")\nSystem(Storage, "Storage", $descr="External storage, offered by the substrate (cloud). Could be replaced by any storage solution.", $tags="", $link="")\nSystem(IdentityManagementSystem, "Identity Management System", $descr="The external identity system, offered by the substrate (cloud). Could be replaced by any alternative system.", $tags="", $link="")\nSystem(Externaldatastore, "External datastore", $descr="etcd", $tags="", $link="")\nSystem(K8sSnapDistribution, "K8s Snap Distribution", $descr="The Kubernetes distribution in a snap", $tags="", $link="")\n\nRel(K8sAdmin, K8sSnapDistribution, "Sets up and configures the cluster", $techn="", $tags="", $link="")\nRel(K8sAdmin, CharmK8s, "Manages cluster\'s lifecycle", $techn="", $tags="", $link="")\nRel(K8sUser, K8sSnapDistribution, "Interacts with workloads hosted in K8s", $techn="", $tags="", $link="")\nRel(CharmK8s, K8sSnapDistribution, "Orchestrates the lifecycle management of K8s", $techn="", $tags="", $link="")\nRel(K8sSnapDistribution, Storage, "Hosted workloads use storage", $techn="", $tags="", $link="")\nRel(K8sSnapDistribution, IdentityManagementSystem, "Retrieves users identity", $techn="", $tags="", $link="")\nRel(K8sSnapDistribution, Externaldatastore, "Stores cluster data", $techn="", $tags="", $link="")\nRel(K8sSnapDistribution, LoadBalancer, "Routes client requests", $techn="", $tags="", $link="")\n\nSHOW_LEGEND(true)\n@enduml\n': kroki did not produce a diagram Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinxcontrib/kroki/kroki.py", line 269, in render_kroki response.raise_for_status() File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 504 Server Error: Gateway Time-out for url: https://kroki.io/ The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinxcontrib/kroki/transform.py", line 44, in render out = render_kroki( ^^^^^^^^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinxcontrib/kroki/kroki.py", line 276, in render_kroki raise KrokiError(__("kroki did not produce a diagram")) from e sphinxcontrib.kroki.kroki.KrokiError: kroki did not produce a diagram The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinx/cmd/build.py", line 337, in build_main app.build(args.force_all, args.filenames) File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinx/application.py", line 378, in build self.builder.build_update() File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 296, in build_update self.build(to_build, File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 317, in build updated_docnames = set(self.read()) ^^^^^^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 424, in read self._read_serial(docnames) File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 476, in _read_serial self.read_doc(docname) File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 535, in read_doc publisher.publish() File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/docutils/core.py", line 236, in publish self.apply_transforms() File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/docutils/core.py", line 216, in apply_transforms self.document.transformer.apply_transforms() File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinx/transforms/__init__.py", line 93, in apply_transforms super().apply_transforms() # type: ignore[misc] ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/docutils/transforms/__init__.py", line 182, in apply_transforms transform.apply(**kwargs) File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinxcontrib/kroki/transform.py", line 26, in apply out = self.render(node) ^^^^^^^^^^^^^^^^^ File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinxcontrib/kroki/transform.py", line 60, in render raise SkipNode from exc docutils.nodes.SkipNode Exception occurred: File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-k8s-snap/envs/692/lib/python3.12/site-packages/sphinxcontrib/kroki/transform.py", line 60, in render raise SkipNode from exc docutils.nodes.SkipNode The full traceback has been saved in /tmp/sphinx-err-wzgulu6a.log, if you want to report the issue to the developers. Please also report this if it was a user error, so that a better error message can be provided next time. A bug report can be filed in the tracker at . Thanks!