Sage Weil [Thu, 8 Aug 2019 20:52:45 +0000 (15:52 -0500)]
Merge PR #29493 into master
* refs/pull/29493/head:
qa/tasks/mgr/mgr_test_case: get mgrmap from 'mgr dump', not status
qa/tasks/ceph_manager: no newlines in 'ceph -s' output
mon: make mon summary more concise in 'ceph -s'
mon/MgrStatMonitor: set initial service_map 'modified' to cluster mkfs
mon: remove double-nesting of "osdmap" for ceph status
mon/MgrMap: make print_summary (used by 'ceph -s') more concise
Sage Weil [Thu, 8 Aug 2019 20:49:29 +0000 (15:49 -0500)]
Merge PR #29511 into master
* refs/pull/29511/head:
common/config: respect POD_MEMORY_REQUEST *and* POD_MEMORY_LIMIT env vars
common/config: let diff show non-build defaults
common/config: do no include multiple 'default' values
Reviewed-by: Mark Nelson <mnelson@redhat.com> Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Rafael Quintero [Wed, 31 Jul 2019 17:31:28 +0000 (13:31 -0400)]
mgr/dashboard: E2E Dashboard Page Test Suite
Fixes: https://tracker.ceph.com/issues/40549 Fixes: https://tracker.ceph.com/issues/40550 Fixes: https://tracker.ceph.com/issues/40561 Signed-off-by: Adam King <adking@redhat.com> Signed-off-by: Rafael Quintero <rquinter@redhat.com>
Lenz Grimmer [Wed, 7 Aug 2019 09:14:08 +0000 (11:14 +0200)]
Merge pull request #29451 from rhcs-dashboard/wip-41047-master
github: Add CODEOWNERs for designated code-owner reviews
Reviewed-by: Jan Fajerski <jfajerski@suse.com> Reviewed-by: Kefu Chai <kchai@redhat.com> Reviewed-by: Sage Weil <sage@redhat.com> Reviewed-by: Sebastian Wagner <swagner@suse.com> Reviewed-by: Stephan Müller <smueller@suse.com>
* 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.
Sage Weil [Tue, 6 Aug 2019 21:22:14 +0000 (16:22 -0500)]
Merge PR #29116 into master
* 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
Sage Weil [Tue, 6 Aug 2019 16:12:43 +0000 (11:12 -0500)]
common/config: respect POD_MEMORY_REQUEST *and* POD_MEMORY_LIMIT env vars
If a kubernetes pod spec specifies a limit of X, then the pod gets both
the limits.memory and requests.memory resource fields set, and rook passes
those as POD_MEMORY_LIMIT and POD_MEMORY_REQUEST environment variables.
This is a problem if only the limit is set, because we will end up
setting our osd_memory_target (and, in the future, other *_memory_targets)
to the hard limit, and the daemon will inevitably reach that threshold
and get killed.
Fix this by also looking at the POD_MEMORY_LIMIT value, and applying the
ratio (default: .8) to it, and setting our actual target to the min of
that and the POD_MEMORY_REQUEST.
Also, set the "default" target to ratio*limit, so that it will apply in
general when no request is specified.
Jason Dillaman [Fri, 2 Aug 2019 15:57:29 +0000 (11:57 -0400)]
pybind/mgr/rbd_support: use image ids to detect duplicate tasks
This helps to to avoid the case where new tasks were not being scheduled
when an image name was re-used after having a task created under the
same name.
Fixes: https://tracker.ceph.com/issues/41032 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Samuel Just [Tue, 23 Jul 2019 03:07:57 +0000 (20:07 -0700)]
crimson/: move get_mnow() to ShardServices, pass to heartbeat
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.
Sage Weil [Mon, 17 Jun 2019 18:55:56 +0000 (13:55 -0500)]
osd: track clock delta between peer OSDs
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.
Sage Weil [Mon, 5 Aug 2019 18:08:53 +0000 (13:08 -0500)]
Merge PR #29337 into master
* 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
Kefu Chai [Mon, 5 Aug 2019 15:37:52 +0000 (23:37 +0800)]
cmake: pass tox envs to run_tox.sh explicitly
* 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.
Ernesto Puerta [Thu, 1 Aug 2019 15:04:37 +0000 (17:04 +0200)]
github: Add CODEOWNERs for component/team reviews
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.
Kefu Chai [Fri, 2 Aug 2019 05:26:36 +0000 (13:26 +0800)]
cmake: use script/run_tox.sh for running tox for dashboard
* 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
Kefu Chai [Sun, 4 Aug 2019 14:48:31 +0000 (22:48 +0800)]
test/journal: always close object
otherwise when we destruct `TestObjectRecorder::Handler::lock` or
`journal::JournalRecorder::m_object_locks`, it/they would be still
being waited by some condition variable.
Kefu Chai [Sun, 4 Aug 2019 03:41:26 +0000 (11:41 +0800)]
install-deps.sh: use chacra for cmake repo
two reasons:
- do not rely on kitware repo so we have better control of the
cmake3: the `debian` directory is tracked by
https://github.com/tchaikov/ceph-cmake
- chacra repo also offers aarch64 build of cmake3