Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

octopus: admin/doc-requirements.txt: pin Sphinx at 3.5.4 #43758

Merged
merged 8 commits into from Nov 2, 2021

Conversation

tchaikov
Copy link
Contributor

@tchaikov tchaikov commented Nov 1, 2021

  • pin Sphinx at 3.5.4
  • pin docutils at 0.18

at least the combination of these two versions
is known to compile.

to address the bug reported at
https://sourceforge.net/p/docutils/bugs/431/

the backtrace looks like:

/home/jenkins-build/build/workspace/ceph-pr-docs/build-doc/virtualenv/lib/python3.8/site-packages/sphinx/util/docutils.py:285:
RemovedInSphinx30Warning: function based directive support is now
deprecated. Use class based directive instead.
warnings.warn('function based directive support is now deprecated. '

Exception occurred:
File
"/home/jenkins-build/build/workspace/ceph-pr-docs/build-doc/virtualenv/lib/python3.8/site-packages/docutils/writers/html5_polyglot/init.py",
line 445, in section_title_tags
if (ids and self.settings.section_self_link
AttributeError: 'Values' object has no attribute 'section_self_link'

please note this change is not cherry-picked from
master, because master already bumped Sphinx to 3.5.4
in 4968baa.

Signed-off-by: Kefu Chai tchaikov@gmail.com
(cherry picked from commit 6362b55)

Conflicts:
admin/doc-requirements.txt: trivial resolution

Checklist

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard cephadm
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox

@github-actions github-actions bot added this to the octopus milestone Nov 1, 2021
@neha-ojha neha-ojha self-requested a review November 1, 2021 15:50
@liewegas
Copy link
Member

liewegas commented Nov 1, 2021

ERROR: Cannot install -r requirements-lint.txt (line 10) and -r requirements-lint.txt (line 2) because these package versions have conflicting dependencies.

The conflict is caused by:
    flake8 3.9.0 depends on pycodestyle<2.8.0 and >=2.7.0
    autopep8 1.6.0 depends on pycodestyle>=2.8.0

tchaikov and others added 4 commits November 2, 2021 00:08
otherwise we could have following errors:

Invalid C declaration: Expected identifier in nested name, got keyword: int [error at 18]
      CEPH_RADOS_API int rados_aio_append (rados_ioctx_t io, const char *oid, rados_completion_t completion, const char *buf, size_t len)
      ------------------^

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit cf357e1)
In python3.8 comparing strings using 'is' and 'is not' throws syntax warning.
Instead use equality operator.

Signed-off-by: Varsha Rao <varao@redhat.com>
(cherry picked from commit 61e7bcd)
to be compatible with Sphinx 3.2
see https://github.com/michaeljones/breathe/tree/v4.20.0#change-log

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 2f1f16e)
* pin Sphinx at 3.5.4
* pin docutils at 0.18

at least the combination of these two versions
is known to compile.

to address the bug reported at
https://sourceforge.net/p/docutils/bugs/431/

the backtrace looks like:

/home/jenkins-build/build/workspace/ceph-pr-docs/build-doc/virtualenv/lib/python3.8/site-packages/sphinx/util/docutils.py:285:
RemovedInSphinx30Warning: function based directive support is now
deprecated. Use class based directive instead.
  warnings.warn('function based directive support is now deprecated. '

Exception occurred:
  File
"/home/jenkins-build/build/workspace/ceph-pr-docs/build-doc/virtualenv/lib/python3.8/site-packages/docutils/writers/html5_polyglot/__init__.py",
line 445, in section_title_tags
    if (ids and self.settings.section_self_link
AttributeError: 'Values' object has no attribute 'section_self_link'

please note this change is not cherry-picked from
master, because master already bumped Sphinx to 3.5.4
in 4968baa.

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

Conflicts:
	admin/doc-requirements.txt: trivial resolution
Fixes: https://tracker.ceph.com/issues/53024
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 946dab4)

Conflicts:
	src/pybind/mgr/dashboard/requirements-lint.txt: trivial
resolution
@tchaikov tchaikov requested a review from a team as a code owner November 1, 2021 16:18
@tchaikov tchaikov requested review from aaSharma14 and nizamial09 and removed request for a team November 1, 2021 16:18
@tchaikov
Copy link
Contributor Author

tchaikov commented Nov 1, 2021

pycodestyle

should be fixed by the backport of 946dab4.

@tchaikov
Copy link
Contributor Author

tchaikov commented Nov 1, 2021

retest this please.

@neha-ojha
Copy link
Member

jenkins retest this please

tchaikov and others added 3 commits November 2, 2021 07:32
doxygen complains at seeing rados_object_list_item gets defined twice.
so let's fix it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 4c53a02)
…uler

the AsyncScheduler uses an asio timer to dispatch work to its executor
with an optional delay. when no delay is requested, it waits on the
timer with an expiration time in the past (crimson::dmclock::TimeZero)

tests are failing here because poll() is returning without executing the
handlers of those expired timers

asio implements these timers with timerfd and epoll. debugging with
strace, i see that these timers armed with timerfd_settime() are not
always immediately ready according to epoll_wait():

  eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK)   = 3
  epoll_create1(EPOLL_CLOEXEC)            = 4
  timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC) = 5
  epoll_ctl(4, EPOLL_CTL_ADD, 3, {events=EPOLLIN|EPOLLERR|EPOLLET, data={u32=14164052, u64=14164052}}) = 0
  epoll_ctl(4, EPOLL_CTL_ADD, 5, {events=EPOLLIN|EPOLLERR, data={u32=14164064, u64=14164064}}) = 0
  timerfd_settime(5, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=1}}, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}) = 0
  epoll_wait(4, [{events=EPOLLIN, data={u32=14164052, u64=14164052}}], 128, 0) = 1
  epoll_wait(4, [], 128, 0)               = 0
  epoll_wait(4, [], 128, 0)               = 0
  epoll_wait(4, [], 128, 0)               = 0
  epoll_wait(4, [], 128, 0)               = 0
  epoll_wait(4, [{events=EPOLLIN, data={u32=14164064, u64=14164064}}], 128, 0) = 1

in this example, it took 6 calls to context.poll() before it was ready
to execute the timer's handler

to work around this, replace calls to context.poll() with calls to
context.run_for() with a very short duration

Fixes: https://tracker.ceph.com/issues/42788

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 21baed9)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit a8e3589)

Conflicts:
	src/test/rgw/CMakeLists.txt
	src/test/rgw/test_rgw_dmclock_scheduler.cc: trivial resolution
@tchaikov tchaikov requested a review from cbodley November 1, 2021 23:52
@sebastian-philipp sebastian-philipp merged commit a81ee28 into ceph:octopus Nov 2, 2021
@tchaikov tchaikov deleted the octopus-pr-43748 branch November 2, 2021 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants