* use primitive types instead of `JLeaf(the_type)` as they are
equivalent in this context
* remove fields which are added only if certain channels are
activated.
* allow unknown fields, as we are including various stuff
in the report, for instance, osdmap, usage, crash info, etc.
Signed-off-by: Kefu Chai <kchai@redhat.com>
fix the regression introduced by 8c50be5df6, so ceph-mgr's python
modules are able to import python-common.
Signed-off-by: Kefu Chai <kchai@redhat.com>
* refs/pull/29116/head:
osd: move heartbeat connection cleanup to helper
osd: break con<->session cycle when removing heartbeat peers
osd: mark down heartbeat connections on shutdown
crimson/: move get_mnow() to ShardServices, pass to heartbeat
crimson/osd: stubs for get_mnow, get_hbstamps
crimson/osd/heartbeat: adapt to new MOSDPing fields
crimson/osdmap_service: add get_mnow(), get_up_epoch()
osd/PeeringState: take HeartbeatStamps refs for current interval
osd: track clock delta between peer OSDs
osd: add get_mnow() interface to OSDService, PG, PeeringState
osd: record startup_time
osd: some minor refactoring/cleanup in handle_osd_ping
Reviewed-by: Samuel Just <sjust@redhat.com>
otherwise when we destruct `journal::JournalRecorder::m_object_locks`,
it/they would be still being waited by some condition variable.
Signed-off-by: Kefu Chai <kchai@redhat.com>
This ensures that heartbeat_reset() gets call and we clean up the
ref loop between the Connections and Sessions.
Signed-off-by: Sage Weil <sage@redhat.com>
get_mnow isn't clearly at home in OSDMapService, and the other methods
are needed from PeeringState, so let's consolidate on ShardServices
for now. We probably ought OSDMapService state out of OSD into its
own module at some point.
Signed-off-by: Samuel Just <sjust@redhat.com>
We need to keep track of the monotonic clock deltas between peer OSDs in
order to be able to exchange timestamps across messages. We need an
upper and lower bound on this delta, depending on the context where it is
used.
We can use the existing ping messages to get this by assuming that a ping
message is sent instantly to get a bound, and to share our delta in a
follow-up reply to share the other bound. The ping sender will get both
bounds with a single ping + ping_reply exchange. The ping receiver will
get the delta value from the next round's ping.
Include up_from in the ping messages to ensure we don't mix up different
instances of the same OSD.
Signed-off-by: Sage Weil <sage@inktank.com>
* refs/pull/29337/head:
mon: enable telemetry module by default
mgr/telemetry: force re-opt-in if the report contents change
mgr/telemetry: less noise in the log
mgr/telemetry: wake up serve on config change
mgr/telemetry: track telemetry report revisions
Reviewed-by: Neha Ojha <nojha@redhat.com>
* refs/pull/29492/head:
doc: Fix for new ceph-devel mailing list
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
* add two optional keyword parameters to `add_tox_test()`
* use the default `TOX_PATH` parameter instead passing it explicitly,
as it is always `${CMAKE_CURRENT_SOURCE_DIR}`
* drop the code to guess the tox envs in `run_tox.sh`, and always pass
them explicitly in CMake script using the `--tox-envs` argument.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Adds [CODEOWNERS](https://help.github.com/en/articles/about-code-owners)
file and assigns ownership of /src/pybind/mgr/dashboard to
@ceph/dashboard alias. That will also automatically add @ceph/dashboard
team to all reviews modifying any file in the above location.
Besides, if "Require review from Code Owners" is marked in the Branch
Protection Rules of any branch, where this CODEOWNERS file is propagated
to, at least one review from a designated CODEOWNER will be mandatory.
If Ceph teams' visibility is changed to public, teams can also be
@mentioned (both from Ceph and other projects), so it's easier to reach
to component-team members.
Fixes: https://tracker.ceph.com/issues/41047
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
* adapt script/run_tox.sh to use different envs for dashboard's tox
test.
* use script/run_tox.sh for running dashboard's tox test
* remove pybind/mgr/dashboard/run-tox.sh
Signed-off-by: Kefu Chai <kchai@redhat.com>
so we can prepare the venv for tox with `make tests`. and it's optional,
as run_tox.sh will check for it and setup a venv if it's not around.
Signed-off-by: Kefu Chai <kchai@redhat.com>
otherwise when we destruct `TestObjectRecorder::Handler::lock` or
`journal::JournalRecorder::m_object_locks`, it/they would be still
being waited by some condition variable.
Signed-off-by: Kefu Chai <kchai@redhat.com>