Skip to content

octopus: admin/doc-requirements: bump sphinx to 4.4.0#45972

Merged
ljflores merged 8 commits intoceph:octopusfrom
ljflores:wip-55077-octopus
May 9, 2022
Merged

octopus: admin/doc-requirements: bump sphinx to 4.4.0#45972
ljflores merged 8 commits intoceph:octopusfrom
ljflores:wip-55077-octopus

Conversation

@ljflores
Copy link
Member

@ljflores ljflores commented Apr 20, 2022

backport tracker: https://tracker.ceph.com/issues/55077


backport of #45266 (and 1704216)
parent tracker: https://tracker.ceph.com/issues/55050

this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/master/src/script/ceph-backport.sh


Note: 1704216 needed to be included in this backport since add_javascript() is depreciated in Sphinx 4.4.0.

bump sphinx to latest stable. to address following build failure

ERROR: sphinx-autodoc-typehints 1.17.0 has requirement Sphinx>=4, but you'll have sphinx 3.5.4 which is incompatible.
ERROR: sphinx-substitution-extensions 2022.2.16 has requirement sphinx>=4.0.0, but you'll have sphinx 3.5.4 which is incompatible.

also bump bump sphinx-rtd-theme, otherwise we'd have following
build failure:

ERROR: sphinx-rtd-theme 0.5.2 has requirement docutils<0.17, but you'll have docutils 0.17.1 which is incompatible.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit 0a5fab5)

 Conflicts:
	admin/doc-requirements.txt
		- `sphinx_rtd_theme` was not present in Octopus
@ljflores ljflores added this to the octopus milestone Apr 20, 2022
@ljflores ljflores requested a review from a team as a code owner April 20, 2022 15:23
@ljflores
Copy link
Member Author

ljflores commented Apr 20, 2022

Exception occurred:
  File "/home/jenkins-build/build/workspace/ceph-pr-docs/doc/conf.py", line 117, in setup
    app.add_javascript('js/ceph.js')
AttributeError: 'Sphinx' object has no attribute 'add_javascript'

Looks like this backport is dependent on other changes, such as 1704216. Currently looking into the chronology of changes and seeing what else needs to happen to help the docs check pass.

@ljflores
Copy link
Member Author

ljflores commented Apr 22, 2022

readthedocs is still failing because of this:

Collecting git+https://github.com/readthedocs/readthedocs-sphinx-search@master (from -r admin/doc-read-the-docs.txt (line 2))
  Cloning https://github.com/readthedocs/readthedocs-sphinx-search (to revision master) to /tmp/pip-req-build-syi7bhd6
  Running command git clone --filter=blob:none --quiet https://github.com/readthedocs/readthedocs-sphinx-search /tmp/pip-req-build-syi7bhd6
  WARNING: Did not find branch or tag 'master', assuming revision or ref.
  Running command git checkout -q master
  error: pathspec 'master' did not match any file(s) known to git.
  error: subprocess-exited-with-error
  
  × git checkout -q master did not run successfully.
  │ exit code: 1
  ╰─> See above for output.
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git checkout -q master did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

But I think that is a separate issue.

@ljflores ljflores requested a review from tchaikov April 22, 2022 16:24
@ljflores
Copy link
Member Author

jenkins test make check

@ljflores ljflores requested a review from idryomov April 22, 2022 17:44
@ljflores
Copy link
Member Author

ljflores commented Apr 22, 2022

@idryomov tagging you in this in case you have any opinions.

@idryomov
Copy link
Contributor

readthedocs is still failing because of this:

Collecting git+https://github.com/readthedocs/readthedocs-sphinx-search@master (from -r admin/doc-read-the-docs.txt (line 2))
  Cloning https://github.com/readthedocs/readthedocs-sphinx-search (to revision master) to /tmp/pip-req-build-syi7bhd6
  Running command git clone --filter=blob:none --quiet https://github.com/readthedocs/readthedocs-sphinx-search /tmp/pip-req-build-syi7bhd6
  WARNING: Did not find branch or tag 'master', assuming revision or ref.
  Running command git checkout -q master
  error: pathspec 'master' did not match any file(s) known to git.
  error: subprocess-exited-with-error
  
  × git checkout -q master did not run successfully.
  │ exit code: 1
  ╰─> See above for output.
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git checkout -q master did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

But I think that is a separate issue.

Yeah, it is being addressed in #45839.

Copy link
Contributor

@idryomov idryomov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No opinion, any set of pins/versions that works is fine with me ;)

The backport looks good but I'll defer to @tchaikov and @adk3798 here as most of it is patching up new warnings in cephadm.

Copy link
Contributor

@tchaikov tchaikov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apart from the unnecessary reduce, looks good to me.

@ljflores
Copy link
Member Author

@tchaikov thanks, I'll address that unnecessary import.

tchaikov and others added 7 commits April 25, 2022 12:43
this allows the "rpc"ized methods of OrchestratorClientMixin to
have the docstring defined by the original methods.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit d0db2ae)

 Conflicts:
	src/pybind/mgr/orchestrator/_interface.py
		- Removed some typing imports that were not present
		  in Octopus
this helps to silence the warning from sphinx, like

src/pybind/mgr/orchestrator/_interface.py:docstring of orchestrator._interface.Orchestrator.remove_osds:9: WARNING: Field list ends without a blank line; unexpected unindent.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit d9b8e38)

 Conflicts:
	src/pybind/mgr/orchestrator/_interface.py
		- `:param zap:` did not exist in Octopus; removed
		   this from the param list.
breathe calls doxygen for extracting/generating docs from code.
while doxygen complains at seeing undocumented fields/func. these
warnings could fail the sphinx-build command, if it takes warnings
as errors.

in this change, these warnings are silenced.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit 8891d65)
so it can be rendered by sphinx in a better way.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit ba3ccee)
add an empty line before a doctest block would help
sphinx to tell where the session starts.

see also https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#doctest-blocks

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit 8685fff)
otherwise sphinx takes "Typical use" and the following line as a
field. see also

https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#field-lists

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit 05798f0)
to address following warning:

jenkins-build/build/workspace/ceph-pr-docs/doc/conf.py:102: RemovedInSphinx40Warning: The app.add_javascript() is deprecated. Please use app.add_js_file() instead.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 1704216)
@ljflores ljflores mentioned this pull request May 2, 2022
14 tasks
@tchaikov
Copy link
Contributor

tchaikov commented May 3, 2022

@yuriw hey Yuri, could you please prioritize your test to include this PR in your next batch. it is blocking quite a few octopus backports.

@ljflores
Copy link
Member Author

ljflores commented May 4, 2022

jenkins retest this please

@ljflores
Copy link
Member Author

ljflores commented May 4, 2022

I'm getting started on testing this. Here is the shaman build link if someone gets to it before I do: https://shaman.ceph.com/builds/ceph/wip-55077-octopus/

I'm thinking a regular rados suite run will work for this, with orchestrator approval.

Rados run: http://pulpito.front.sepia.ceph.com/lflores-2022-05-04_18:59:38-rados-wip-55077-octopus-distro-default-smithi/
Rerun: http://pulpito.front.sepia.ceph.com/lflores-2022-05-09_14:54:06-rados-wip-55077-octopus-distro-default-smithi/

@ljflores
Copy link
Member Author

ljflores commented May 9, 2022

I'm getting started on testing this. Here is the shaman build link if someone gets to it before I do: https://shaman.ceph.com/builds/ceph/wip-55077-octopus/

I'm thinking a regular rados suite run will work for this, with orchestrator approval.

Rados run: http://pulpito.front.sepia.ceph.com/lflores-2022-05-04_18:59:38-rados-wip-55077-octopus-distro-default-smithi/ Rerun: http://pulpito.front.sepia.ceph.com/lflores-2022-05-09_14:54:06-rados-wip-55077-octopus-distro-default-smithi/

Summarized RADOS failures. Most failures in the initial run were due to fixes that have not yet been backported to Octopus. The rerun was almost all green, except for one job that failed because of trackers listed below. With Orch approval of the failures, this will be okay to merge. @adk3798:

Failures, unrelated:
1. https://tracker.ceph.com/issues/45423
2. https://tracker.ceph.com/issues/48899
3. https://tracker.ceph.com/issues/52553
4. https://tracker.ceph.com/issues/48793
5. https://tracker.ceph.com/issues/43584
6. https://tracker.ceph.com/issues/24990
7. https://tracker.ceph.com/issues/55582

Details:
1. api_tier_pp: [ FAILED ] LibRadosTwoPoolsPP.HitSetWrite - Ceph - RADOS (pending Octopus backport)
2. api_list: LibRadosList.EnumerateObjects and LibRadosList.EnumerateObjectsSplit failed - Ceph - RADOS (not backported to Octopus)
3. pybind: rados.RadosStateError raised when closed watch object goes out of scope after cluster shutdown - Ceph - RADOS (pending Octopus backport)
4. out of order op - Ceph - RADOS (not backported to Octopus)
5. MON_DOWN during mon_join process - Ceph - RADOS (pending Octopus backport)
6. api_watch_notify: LibRadosWatchNotify.Watch3Timeout failed - Ceph - RADOS (pending Octopus backport)
7. api_watch_notify: LibRadosWatchNotify.AioWatchDelete2 fails because rados_watch_check_err is neither -ENOTCONN nor -ENOENT - Ceph - RADOS (opened a new one for this, but does not seem related)

@ljflores
Copy link
Member Author

ljflores commented May 9, 2022

Orch approved.

@ljflores ljflores merged commit 1290cb4 into ceph:octopus May 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants