]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agomds: simplify recall warnings 26038/head
Patrick Donnelly [Mon, 28 Jan 2019 23:48:38 +0000 (15:48 -0800)]
mds: simplify recall warnings

Instead of a timeout and complicated decisions about whether the client is
releasing caps in an expeditious fashion, just use a DecayCounter that tracks
the number of caps we've recalled. This counter is decremented whenever the
client releases caps. If the counter passes a threshold, then we raise the
warning.

Similar reworking is done for the steady-state recall of client caps. Another
release DecayCounter is added so we can tell when the client is not releasing
any more caps.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agomds: add extra details for cache drop output
Patrick Donnelly [Fri, 25 Jan 2019 23:59:13 +0000 (15:59 -0800)]
mds: add extra details for cache drop output

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoqa: test mds_max_caps_per_client conf
Patrick Donnelly [Fri, 25 Jan 2019 20:13:50 +0000 (12:13 -0800)]
qa: test mds_max_caps_per_client conf

That the MDS will not let a client sit above mds_max_caps_per_client caps.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agomds: limit maximum number of caps held by session
Patrick Donnelly [Thu, 24 Jan 2019 22:23:08 +0000 (14:23 -0800)]
mds: limit maximum number of caps held by session

This is to prevent unsustainable situations where a client has so many
outstanding caps that a linear traversal/operation on the session's caps takes
unacceptable amounts of time.

Fixes: http://tracker.ceph.com/issues/38022
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agomds: adapt drop cache for incremental recall
Patrick Donnelly [Thu, 24 Jan 2019 22:22:42 +0000 (14:22 -0800)]
mds: adapt drop cache for incremental recall

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agomds: recall caps incrementally
Patrick Donnelly [Wed, 23 Jan 2019 14:41:55 +0000 (06:41 -0800)]
mds: recall caps incrementally

As with trimming, use DecayCounters to throttle the number of caps we recall,
both globally and per-session.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agomds: adapt drop cache for incremental trim
Patrick Donnelly [Sun, 20 Jan 2019 04:40:11 +0000 (20:40 -0800)]
mds: adapt drop cache for incremental trim

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agomds: add throttle for trimming MDCache
Patrick Donnelly [Sat, 19 Jan 2019 00:18:59 +0000 (16:18 -0800)]
mds: add throttle for trimming MDCache

This is necessary when the MDS cache size decreases by a significant amount.
For example, when stopping a large MDS or when the operator makes a large cache
size reduction.

Fixes: http://tracker.ceph.com/issues/37723
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agomds: cleanup SessionMap init
Patrick Donnelly [Fri, 18 Jan 2019 23:43:48 +0000 (15:43 -0800)]
mds: cleanup SessionMap init

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agomds: cleanup Session init
Patrick Donnelly [Mon, 21 Jan 2019 18:57:45 +0000 (10:57 -0800)]
mds: cleanup Session init

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge pull request #26157 from cbodley/wip-rgw-olh-repair
Casey Bodley [Tue, 29 Jan 2019 17:04:39 +0000 (12:04 -0500)]
Merge pull request #26157 from cbodley/wip-rgw-olh-repair

rgw: repair olh attributes that were broken by sync

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agoMerge pull request #26002 from pritha-srivastava/wip-sts-assumerole-webidentity
Matt Benjamin [Tue, 29 Jan 2019 16:58:50 +0000 (11:58 -0500)]
Merge pull request #26002 from pritha-srivastava/wip-sts-assumerole-webidentity

rgw: Initial commit for AssumeRoleWithWebIdentity.

6 years agoMerge pull request #26110 from yaozongyou/fix-statistics-bug
Kefu Chai [Tue, 29 Jan 2019 16:19:01 +0000 (00:19 +0800)]
Merge pull request #26110 from yaozongyou/fix-statistics-bug

mon: fix pg_sum_old not copied correctly

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #26090 from tchaikov/wip-crimson-osdmap
Kefu Chai [Tue, 29 Jan 2019 13:31:51 +0000 (21:31 +0800)]
Merge pull request #26090 from tchaikov/wip-crimson-osdmap

crimson: persist/load osdmap to/from store

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoMerge pull request #26135 from Tinatinak/fix_permission_decorator
Lenz Grimmer [Tue, 29 Jan 2019 12:38:36 +0000 (13:38 +0100)]
Merge pull request #26135 from Tinatinak/fix_permission_decorator

mgr/dashboard: Correct permission decorator

Reviewed-by: Ricardo Dias <rdias@suse.com>
6 years agoMerge pull request #26165 from rhcs-dashboard/ng-envbuild-e2e
Lenz Grimmer [Tue, 29 Jan 2019 12:34:36 +0000 (13:34 +0100)]
Merge pull request #26165 from rhcs-dashboard/ng-envbuild-e2e

mgr/dashboard: added 'env_build' to 'npm run e2e'

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
6 years agocrimson/osd: fix boot process 26090/head
Kefu Chai [Tue, 29 Jan 2019 11:20:05 +0000 (19:20 +0800)]
crimson/osd: fix boot process

* send my client addresses to mon
* always update osdmap with the latest one

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/osd: load_pgs()
Kefu Chai [Wed, 23 Jan 2019 09:58:20 +0000 (17:58 +0800)]
crimson/osd: load_pgs()

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/os: add omap_get_values()
Kefu Chai [Tue, 29 Jan 2019 09:10:47 +0000 (17:10 +0800)]
crimson/os: add omap_get_values()

osd uses it for storing the pg_info.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoosd/HitSet: mark copy ctor of HitSet::Params noexcept
Kefu Chai [Tue, 29 Jan 2019 09:18:21 +0000 (17:18 +0800)]
osd/HitSet: mark copy ctor of HitSet::Params noexcept

to be returned using seastar::future<...> the value type should satisfy
std::is_nothrow_constructible<T>.

with this change, pg_pool_t will be nothrow_constructible. and hence
can be returned using seastar::future<pg_pool_t>. otherwise
std::is_nothrow_constructible<pg_pool_t>::value would be false.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/osd: add operator<< to OSDState
Kefu Chai [Wed, 23 Jan 2019 09:54:24 +0000 (17:54 +0800)]
crimson/osd: add operator<< to OSDState

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/os: note missing coll/oid in exception
Kefu Chai [Wed, 23 Jan 2019 09:51:46 +0000 (17:51 +0800)]
crimson/os: note missing coll/oid in exception

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/osd: load/store osdmap from/to store
Kefu Chai [Wed, 23 Jan 2019 05:49:37 +0000 (13:49 +0800)]
crimson/osd: load/store osdmap from/to store

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #26133 from dillaman/wip-37913
Mykola Golub [Tue, 29 Jan 2019 10:41:23 +0000 (12:41 +0200)]
Merge pull request #26133 from dillaman/wip-37913

rbd: implement new 'rbd perf image iostat/iotop' commands

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agocrimson/osd: add "--mkfs" support to crimson-osd
Kefu Chai [Tue, 22 Jan 2019 12:37:18 +0000 (20:37 +0800)]
crimson/osd: add "--mkfs" support to crimson-osd

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/os: move more features from MemStore to CyanStore
Kefu Chai [Mon, 21 Jan 2019 11:24:19 +0000 (19:24 +0800)]
crimson/os: move more features from MemStore to CyanStore

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agomgr/dashboard: Correct permission decorator 26135/head
Tina Kallio [Thu, 27 Dec 2018 09:48:08 +0000 (10:48 +0100)]
mgr/dashboard: Correct permission decorator

'CreatePermission' is required in order to restore an image from trash.

Signed-off-by: Tina Kallio <tina.kallio@gmail.com>
6 years agorgw: Initial commit for AssumeRoleWithWebIdentity. 26002/head
Pritha Srivastava [Mon, 31 Dec 2018 06:12:49 +0000 (11:42 +0530)]
rgw: Initial commit for AssumeRoleWithWebIdentity.

Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
6 years agorbd: new 'perf image iostat/iotop' actions 26133/head
Jason Dillaman [Tue, 22 Jan 2019 19:04:15 +0000 (14:04 -0500)]
rbd: new 'perf image iostat/iotop' actions

This provides an 'iostat' and 'top'-like IO monitor for all
RBD images

Fixes: http://tracker.ceph.com/issues/37913
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorgw: add RGWRados::repair_olh() to reconstruct olh attrs 26157/head
Casey Bodley [Fri, 25 Jan 2019 21:44:03 +0000 (16:44 -0500)]
rgw: add RGWRados::repair_olh() to reconstruct olh attrs

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agorgw: add RGWRados::bi_get_olh() to read/decode olh entry
Casey Bodley [Fri, 25 Jan 2019 21:43:36 +0000 (16:43 -0500)]
rgw: add RGWRados::bi_get_olh() to read/decode olh entry

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agorgw: bi_get() takes bucket_info
Casey Bodley [Fri, 25 Jan 2019 21:42:50 +0000 (16:42 -0500)]
rgw: bi_get() takes bucket_info

and calls the bucket_info overload of BucketShard::init() to avoid
reading the bucket info again

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agorgw: add BucketShard::init overload for bucket_info,obj
Casey Bodley [Fri, 25 Jan 2019 21:17:19 +0000 (16:17 -0500)]
rgw: add BucketShard::init overload for bucket_info,obj

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agorbd: simplify pool namespace positional argument handling
Jason Dillaman [Mon, 21 Jan 2019 22:29:19 +0000 (17:29 -0500)]
rbd: simplify pool namespace positional argument handling

The pool and namespace can now be specified as in a
<pool-name>[/<namespace-name>] format as positional
arguments.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agomgr/rbd_support: support module for RBD features that require coordination
Jason Dillaman [Thu, 24 Jan 2019 05:00:26 +0000 (00:00 -0500)]
mgr/rbd_support: support module for RBD features that require coordination

This initially adds mgr commands to collect RBD performance metrics
from the OSD dynamic perf collector:

  rbd perf image stats: collects IO rate statistics
  rbd perf image counters: collects raw IO counters

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #25112 from dzafman/wip-scrub-warning
David Zafman [Mon, 28 Jan 2019 18:46:18 +0000 (10:46 -0800)]
Merge pull request #25112 from dzafman/wip-scrub-warning

scrub warning check incorrectly uses mon scrub interval

Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #26081 from cbodley/wip-38007
Casey Bodley [Mon, 28 Jan 2019 17:07:18 +0000 (12:07 -0500)]
Merge pull request #26081 from cbodley/wip-38007

rgw: bucket full sync handles delete markers

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agoMerge pull request #25137 from yehudasa/wip-archive-zone-3
Yehuda Sadeh [Mon, 28 Jan 2019 17:05:23 +0000 (09:05 -0800)]
Merge pull request #25137 from yehudasa/wip-archive-zone-3

rgw: archive zone

Reviewed-By: Abhishek Lekshmanan <abhishek@suse.com>
6 years agorgw: bucket full sync handles delete markers 26081/head
Casey Bodley [Tue, 22 Jan 2019 17:04:43 +0000 (12:04 -0500)]
rgw: bucket full sync handles delete markers

full sync uses CLS_RGW_OP_LINK_OLH_DM for delete markers instead of
trying to fetch them from the source zone

Fixes: http://tracker.ceph.com/issues/38007
Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agotest/rgw: add multisite test_suspended_delete_marker_full_sync()
Casey Bodley [Tue, 22 Jan 2019 15:56:56 +0000 (10:56 -0500)]
test/rgw: add multisite test_suspended_delete_marker_full_sync()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agotest/rgw: add multisite test_delete_marker_full_sync()
Casey Bodley [Tue, 22 Jan 2019 15:30:04 +0000 (10:30 -0500)]
test/rgw: add multisite test_delete_marker_full_sync()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agotest/rgw: use version_id from key directly
Casey Bodley [Thu, 24 May 2018 19:13:05 +0000 (15:13 -0400)]
test/rgw: use version_id from key directly

now that PutObj returns the x-amz-version-id, it's available through
Key.version_id without resorting to Bucket.list_versions()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agotest/rgw: check_bucket_eq() supports delete markers
Casey Bodley [Tue, 22 May 2018 16:52:11 +0000 (12:52 -0400)]
test/rgw: check_bucket_eq() supports delete markers

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agotest/rgw: check_bucket_eq() uses bucket.list_versions()
Casey Bodley [Wed, 23 Jan 2019 15:19:42 +0000 (10:19 -0500)]
test/rgw: check_bucket_eq() uses bucket.list_versions()

get_all_versions() is documented as a lower-level api that doesn't
handle paging, ands suggests list_versions() instead. also caches the
results to avoid listing each bucket twice

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #25794 from cbodley/wip-rgw-sync-olh-attrs
Casey Bodley [Mon, 28 Jan 2019 14:33:52 +0000 (09:33 -0500)]
Merge pull request #25794 from cbodley/wip-rgw-sync-olh-attrs

rgw: fetch_remote_obj filters out olh attrs

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Reviewed-by: Mark Kogan <mkogan@redhat.com>
6 years agoMerge PR #24546 into master
Sage Weil [Mon, 28 Jan 2019 11:50:59 +0000 (05:50 -0600)]
Merge PR #24546 into master

* refs/pull/24546/head:
msg/async/ProtocolV2: clear dispatch throttle on connection stop
msg/async: fix should_use_msgr2 behavior (including monc)
msg/async/AsyncMessenger: clear need_addr *after* we set our new addr
msg/async/ProtocolV2: fix handling for v2 client connection with v1 addr
ceph_test_msgr: do not connect_to on the client side
msg/async: do not connect from server
msg/async: do not use peer to addr detection; use getsockname()
msg/async/ProtocolV2: always send non-empty addrvec for self
msg/async: never fill out port in myaddr if we didn't bind
ceph_test_msgr: use v2 addrs for simplemessenger
msg/async: msgr2: don't force write event on every message received
msg/async/ProtocolV2: be forgiving in server identity check
msg/async/ProtocolV2: fault if we connect to the wrong peer
msg/async: msgr2: clean cookie if connection failed in ACCEPT_SESSION
msg/async/ProtocolV2: do not bump connect_seq for fault during ACCEPTING_SESSION
msg/async: msgr2: don't send SESSION_RETRY_GLOBAL in handle_existing_connection
msg/async: msgr2: organizing log messages
msg/async: msgr2: fix connection fault when replacing
msg/async: msgr2: fix replacing race handling
msg/async: msgr2: fix connection race when existing connection is newer
msg/async: msgr2: assign recv_stamp in handle_message
msg/async: msgr2: fix peer_addrs discovery
msg/async: msgr2: keep authorizer bufferlist across reconnects
msg/async: msgr2: fix connection secret problems for WITH_SEASTAR builds
msg/async: msgr2: send keepalive on connection race winner
msg/async: msgr2: fix client address learning
msg/async: msgr2: fix keepalive_ack message
msg/async: msgr2: do not force updating rotating keys inline
msg/async: msgr2: fix mark_down vs accept race
msg/async: msgr2: unregister con from accept vs mark_down race
auth/cephx/CephxSessionHandler: use connection_secret for encryption
msg,cephx: establish a unique connection_secret for every connection
msg/async: msgr2: use sha256_digest_t to print signature hex strings
types.h,rgw: merge sha*_digest_t definitions
msg/async: msgr2: close connection when no authorizer is given
msg/async: msgr2: formatting fixes
msg/async: msgr2: send client v2 address when only v1 address is defined
msg/async: msgr2: add payload length to banner
msg/async: msgr2: check protocol state after fast dispatch
msg/async: msgr2: reduce log level for sending messages event
msg/async: msgr2: call verify authorizer when CEPH_AUTH_NONE is used
msg/async: msgr2: store peer entity name in the protocol
msg/async: msgr2: apply sign/encrypt to messages data payload
msg/async: msgr2: encryption/decryption of frames
cephx: added encrypt/decrypt bufferlist method to session handler
msg/async: msgr2: refactored the frame structures
cephx: add sign bufferlist method
options: msgr2 enable/disable signing and encrytion options
msg/async: msgr2: cephx authentication
msg/async: msgr2: implement reconnect
msg/async: msgr2: fault handling
msg/async: msgr2: messange exchange phase
msg/async: msgr2: message flow handshake
msg/async: msgr2: authentication phase
msg/async: msgr2: exchange peer_type in banner phase
test/msgr: cloned test_msgr test for testing msgr2 protocol
msg/async: msgr2: banner exchange
msg/async: asyncconnection: update the source address info
msg/async: move base class Protocol its own source file

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25583 from rhcs-dashboard/timepicker
Lenz Grimmer [Mon, 28 Jan 2019 11:27:48 +0000 (12:27 +0100)]
Merge pull request #25583 from rhcs-dashboard/timepicker

mgr/dashboard: Adds custom timepicker for grafana iframes

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
6 years agoMerge pull request #25745 from socketpair/precision
Kefu Chai [Mon, 28 Jan 2019 09:29:50 +0000 (17:29 +0800)]
Merge pull request #25745 from socketpair/precision

Formatters: improve precision of double numbers

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agomgr/dashboard: added 'env_build' to 'npm run e2e' 26165/head
alfonsomthd [Mon, 28 Jan 2019 08:55:37 +0000 (09:55 +0100)]
mgr/dashboard: added 'env_build' to 'npm run e2e'

* 'e2e' & 'e2e:dev' need also to run 'env_build' to complete successfully.

Signed-off-by: Alfonso Martínez <almartin@redhat.com>
6 years agoMerge pull request #25725 from cfanz/wip-mgr-handle-monmap
Kefu Chai [Mon, 28 Jan 2019 08:44:53 +0000 (16:44 +0800)]
Merge pull request #25725 from cfanz/wip-mgr-handle-monmap

mgr: update daemon_state when necessary

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #26155 from tchaikov/wip-osd-cleanup
Kefu Chai [Mon, 28 Jan 2019 08:43:05 +0000 (16:43 +0800)]
Merge pull request #26155 from tchaikov/wip-osd-cleanup

osd/PG: remove unused functions

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #26156 from tchaikov/wip-use-latest-setuptools
Kefu Chai [Mon, 28 Jan 2019 08:42:30 +0000 (16:42 +0800)]
Merge pull request #26156 from tchaikov/wip-use-latest-setuptools

install-deps.sh: use the latest setuptools

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge pull request #26138 from Songweibin/wip-rbd-py-cleanup
Kefu Chai [Mon, 28 Jan 2019 06:17:42 +0000 (14:17 +0800)]
Merge pull request #26138 from Songweibin/wip-rbd-py-cleanup

pybind/rbd: fix a typo in metadata_get comments

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agoMerge pull request #26105 from neha-ojha/wip-37886
Neha Ojha [Sun, 27 Jan 2019 20:43:43 +0000 (12:43 -0800)]
Merge pull request #26105 from neha-ojha/wip-37886

mgr/DaemonServer: log pgmap usage to cluster log

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #26086 into master
Patrick Donnelly [Sun, 27 Jan 2019 18:23:08 +0000 (10:23 -0800)]
Merge PR #26086 into master

* refs/pull/26086/head:
include/xlist: prevent item moves
include/xlist: privatize item members

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agomsg/async/ProtocolV2: clear dispatch throttle on connection stop 24546/head
Sage Weil [Sun, 27 Jan 2019 16:10:49 +0000 (10:10 -0600)]
msg/async/ProtocolV2: clear dispatch throttle on connection stop

This aligns us with the ProtocolV1 implementation.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25616 from s0nea/wip-dashboard-osd-recv-speed-default-vals
Kefu Chai [Sun, 27 Jan 2019 14:17:49 +0000 (22:17 +0800)]
Merge pull request #25616 from s0nea/wip-dashboard-osd-recv-speed-default-vals

mgr/dashboard: consider config option default values

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
6 years agoMerge pull request #24813 from wjwithagen/wjw-fix-alpine-compat
Kefu Chai [Sun, 27 Jan 2019 13:42:51 +0000 (21:42 +0800)]
Merge pull request #24813 from wjwithagen/wjw-fix-alpine-compat

common: Fix Alpine compatability for TEMP_FAILURE_RETRY and ACCESSPERMS

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #25916 from tchaikov/wip-debian-librados-dev
Kefu Chai [Sun, 27 Jan 2019 13:41:39 +0000 (21:41 +0800)]
Merge pull request #25916 from tchaikov/wip-debian-librados-dev

debian: librados-dev should replace librados2-dev

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge pull request #26099 from jdurgin/wip-remove-ms-async-affinity
Kefu Chai [Sun, 27 Jan 2019 13:41:10 +0000 (21:41 +0800)]
Merge pull request #26099 from jdurgin/wip-remove-ms-async-affinity

common/options: remove unused ms async affinity options

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #26026 from tchaikov/wip-memstore-ceph-mutex
Kefu Chai [Sun, 27 Jan 2019 13:40:30 +0000 (21:40 +0800)]
Merge pull request #26026 from tchaikov/wip-memstore-ceph-mutex

os/memstore: use ceph::mutex and friends

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agomsg/async: fix should_use_msgr2 behavior (including monc)
Sage Weil [Sun, 27 Jan 2019 13:32:21 +0000 (07:32 -0600)]
msg/async: fix should_use_msgr2 behavior (including monc)

Be consistent about whether we should use v2 to connect or not, and fix
teh monclient check to use the same logic.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #26159 from dzafman/wip-gitignore
Kefu Chai [Sun, 27 Jan 2019 13:18:35 +0000 (21:18 +0800)]
Merge pull request #26159 from dzafman/wip-gitignore

git: Ignore tags anywhere

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #26150 from dillaman/wip-rados-lock-info
Ilya Dryomov [Sun, 27 Jan 2019 07:18:45 +0000 (08:18 +0100)]
Merge pull request #26150 from dillaman/wip-rados-lock-info

rados: return legacy address in 'lock info'

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
6 years agoMerge PR #25599 into master
Patrick Donnelly [Sun, 27 Jan 2019 05:20:06 +0000 (21:20 -0800)]
Merge PR #25599 into master

* refs/pull/25599/head:
mds: do not log internal journal error
mds: clean up log level 2 messages
mds: log session open stats

Reviewed-by: Zheng Yan <zyan@redhat.com>
6 years agogit: Ignore tags anywhere 26159/head
David Zafman [Wed, 18 Apr 2018 16:38:19 +0000 (09:38 -0700)]
git: Ignore tags anywhere

Signed-off-by: David Zafman <dzafman@redhat.com>
6 years agoMerge PR #26096 into master
Patrick Donnelly [Sun, 27 Jan 2019 00:51:20 +0000 (16:51 -0800)]
Merge PR #26096 into master

* refs/pull/26096/head:
mds: remove cache drop asok command

Reviewed-by: Venky Shankar <vshankar@redhat.com>
6 years agoMerge PR #26087 into master
Patrick Donnelly [Sun, 27 Jan 2019 00:50:16 +0000 (16:50 -0800)]
Merge PR #26087 into master

* refs/pull/26087/head:
mds: fix MDSGather inheritance
include: remove unnecessary inheritance

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #26083 into master
Patrick Donnelly [Sun, 27 Jan 2019 00:48:58 +0000 (16:48 -0800)]
Merge PR #26083 into master

* refs/pull/26083/head:
mds: trim cache after journal flush

Reviewed-by: Venky Shankar <vshankar@redhat.com>
6 years agoMerge PR #26082 into master
Patrick Donnelly [Sun, 27 Jan 2019 00:48:07 +0000 (16:48 -0800)]
Merge PR #26082 into master

* refs/pull/26082/head:
client: flush cap release on session flush

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Zheng Yan <zyan@redhat.com>
6 years agomsg/async/AsyncMessenger: clear need_addr *after* we set our new addr
Sage Weil [Sat, 26 Jan 2019 23:01:14 +0000 (17:01 -0600)]
msg/async/AsyncMessenger: clear need_addr *after* we set our new addr

We check need_addr at the top without a lock held, so we need to be sure
we finished our work before we clear it, or else when there are two racing
threads the first will get the clock and clear the value and the second
will do nothing and see the unlearned value before the first finishes.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/async/ProtocolV2: fix handling for v2 client connection with v1 addr
Sage Weil [Sat, 26 Jan 2019 07:28:13 +0000 (01:28 -0600)]
msg/async/ProtocolV2: fix handling for v2 client connection with v1 addr

Switch it to be v2.  Reject the case where the client sends and addrvec, though;
that should only happen for clients that did_bind, and they should only connect to
v2 if they have a v2 bound addr.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph_test_msgr: do not connect_to on the client side
Sage Weil [Fri, 25 Jan 2019 21:22:10 +0000 (15:22 -0600)]
ceph_test_msgr: do not connect_to on the client side

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/async: do not connect from server
Sage Weil [Fri, 25 Jan 2019 21:21:45 +0000 (15:21 -0600)]
msg/async: do not connect from server

We could have a fault on a server-side of a non-lossy connectoin where
there is a fault and we have outgoing data queued.  Since we are a server,
we cannot connect; we should just go into standby and wait for the other
end to reconnect, or for someone to mark us down.

This fixes a failure reproduced by Messenger/MessengerTest.SyntheticInjectTest/0
where it would assert(!policy.server) in the connect code.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/async: do not use peer to addr detection; use getsockname()
Sage Weil [Fri, 25 Jan 2019 21:14:56 +0000 (15:14 -0600)]
msg/async: do not use peer to addr detection; use getsockname()

If of relying on the peer to tell us what address we are connecting from,
look at how our local socket is bound, and use that address.

This removes the possibility for error because we will infer our address
locally and that will be the one place it is decide; the server will just
use our value.  As things were previously, we had to make the local and
remote inference match, which was fragile.

This does take away the client's ability to discover if it is traversing
NAT to reach the server and learning its public/external address.  I
don't think anybody has ever tested this, so it probably didn't even work,
and I've never heard it come up as a requirement.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoinstall-deps.sh: use latest setuptools 26156/head
Kefu Chai [Sat, 26 Jan 2019 17:20:53 +0000 (01:20 +0800)]
install-deps.sh: use latest setuptools

this change reverts "install-deps.sh: workaround setuptools' dependency on six"

This reverts commit 30ce5e55460e333e1240704112a16fae68b3325f.

tl;dr: this change addresses the failures of "make check" runs on arm64
builders when they try to build `mgr-dashboard-test-venv` target.

long story: without this change, we will fail to pull in
setuptools >= 36, and as a result pip will fail to import
`setuptools.build_meta` in `pip/_vendor/pep517/_in_process.py`. and will
a `BackendUnavailable` exception thrown by `_call_hook()` in
`pip/_vendor/pep517/wrappers.py`. since the issue addressed by 30ce5e55
has been addressed since setuptools >= 36.0.1, we should be safe to
upgrade to the latest setuptools now.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoosd/PG: remove unused functions 26155/head
Kefu Chai [Sat, 26 Jan 2019 17:18:25 +0000 (01:18 +0800)]
osd/PG: remove unused functions

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #23904 from xiexingguo/wip-27985
David Zafman [Sat, 26 Jan 2019 00:44:22 +0000 (16:44 -0800)]
Merge pull request #23904 from xiexingguo/wip-27985

osd/PG: fix misused FORCE_RECOVERY[BACKFILL] flags

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: David Zafman <dzafman@redhat.com>
6 years agomsg/async/ProtocolV2: always send non-empty addrvec for self
Sage Weil [Fri, 25 Jan 2019 20:14:55 +0000 (14:14 -0600)]
msg/async/ProtocolV2: always send non-empty addrvec for self

If we don't know our address yet, send the peer a 0.0.0.0 or :: address with an empty
port and a populated nonce.  That way the peer can infer our final addr the same way
we do from learned_addr.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/async: never fill out port in myaddr if we didn't bind
Sage Weil [Fri, 25 Jan 2019 20:12:27 +0000 (14:12 -0600)]
msg/async: never fill out port in myaddr if we didn't bind

If we are a client and didn't bind, then we should not fill in the port for our
address.  The one the peer sent us is just the random port our outgoing connection
happened to land on!

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph_test_msgr: use v2 addrs for simplemessenger
Sage Weil [Fri, 25 Jan 2019 14:35:38 +0000 (08:35 -0600)]
ceph_test_msgr: use v2 addrs for simplemessenger

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/async: msgr2: don't force write event on every message received
Ricardo Dias [Fri, 25 Jan 2019 19:42:37 +0000 (19:42 +0000)]
msg/async: msgr2: don't force write event on every message received

Signed-off-by: Ricardo Dias <rdias@suse.com>
6 years agoMerge PR #25254 into master
Patrick Donnelly [Fri, 25 Jan 2019 18:52:47 +0000 (10:52 -0800)]
Merge PR #25254 into master

* refs/pull/25254/head:
mds: optimize resuming stale caps
client: avoid unnecessary wakeup when handling RENEWCAPS
client: set cap->wanted when adding new cap
client: don't wakeup cap waiters twice when mds recovered
mds: optimize revoking stale caps
mds: put notable caps at the front of session's caps list
mds: track if client has writeable range in Capability
mds: add session pointer to Capability
client: skip updating 'wanted' caps if caps are already issued
client: sync 'retain caps' logical from kernel client

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge pull request #25497 from jmolmo/wip_ansible_orchestrator
Sebastian Wagner [Fri, 25 Jan 2019 18:37:22 +0000 (19:37 +0100)]
Merge pull request #25497 from jmolmo/wip_ansible_orchestrator

mgr/ansible: Create/Remove OSDs

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Sébastien Han <seb@redhat.com>
6 years agoMerge pull request #25848 from majianpeng/debug-buffer-compiler-error
Kefu Chai [Fri, 25 Jan 2019 17:03:05 +0000 (01:03 +0800)]
Merge pull request #25848 from majianpeng/debug-buffer-compiler-error

common/buffer: fix compiler bug when enable DEBUG_BUFFER.

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agorados: return legacy address in 'lock info' 26150/head
Jason Dillaman [Fri, 25 Jan 2019 14:12:15 +0000 (09:12 -0500)]
rados: return legacy address in 'lock info'

There is no need to differentiate v1 vs v2 addresses and we should
avoid breaking backwards compatibility in the output.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #26022 from theanalyst/common-mclock-prio
Kefu Chai [Fri, 25 Jan 2019 14:07:17 +0000 (22:07 +0800)]
Merge pull request #26022 from theanalyst/common-mclock-prio

common, osd: set mclock priority as 1 by default.

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
6 years agoMerge pull request #26043 from tchaikov/wip-37975
Kefu Chai [Fri, 25 Jan 2019 14:06:27 +0000 (22:06 +0800)]
Merge pull request #26043 from tchaikov/wip-37975

osd: unmount store after service.shutdown()

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge pull request #26053 from Aran85/pipeline-fix
Kefu Chai [Fri, 25 Jan 2019 14:05:58 +0000 (22:05 +0800)]
Merge pull request #26053 from Aran85/pipeline-fix

osd: ec saves a write access to the memory under most circumstances

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agomgr/MgrClient: reduce log level when issuing a command when not connected
Jason Dillaman [Fri, 25 Jan 2019 01:07:35 +0000 (20:07 -0500)]
mgr/MgrClient: reduce log level when issuing a command when not connected

The mgr client will eventually connect and issue the command so it's not
necessary to spam the logs at level 0.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agopybind/rados: fixed Rados.create_ioctx2 type error
Jason Dillaman [Thu, 24 Jan 2019 05:23:54 +0000 (00:23 -0500)]
pybind/rados: fixed Rados.create_ioctx2 type error

The pool name within the Ioctx was incorrectly stored as a
C-style string instead of a Python str object.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agopybind/mgr: exclude osd_perf_query module from being installed
Jason Dillaman [Mon, 21 Jan 2019 19:30:13 +0000 (14:30 -0500)]
pybind/mgr: exclude osd_perf_query module from being installed

This is a proof-of-concept example module that isn't expected to be
used in a production environment.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #26119 from smithfarm/wip-fix-suse-buildrequires
Ricardo Marques [Fri, 25 Jan 2019 12:55:38 +0000 (12:55 +0000)]
Merge pull request #26119 from smithfarm/wip-fix-suse-buildrequires

rpm: fix xmlsec1 build dependency for dashboard make check

Reviewed-by: Ricardo Marques <rimarques@suse.com>
6 years agomds: optimize resuming stale caps 25254/head
Yan, Zheng [Mon, 10 Dec 2018 03:37:32 +0000 (11:37 +0800)]
mds: optimize resuming stale caps

If client doesn't want any cap, there is no need to re-issue stale
caps.

A special case is that client wants some caps, but skipped updating
'wanted'. For this case, client needs to update 'wanted' when stale
session get renewed.

Fixes: http://tracker.ceph.com/issues/38043
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
6 years agomsg/async/ProtocolV2: be forgiving in server identity check
Sage Weil [Thu, 24 Jan 2019 22:48:06 +0000 (16:48 -0600)]
msg/async/ProtocolV2: be forgiving in server identity check

If we parse something out of mon_host or are given an addr by a user,
we should succeed as long as our target_addr is one of the destination's
addrs.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agopybind/rbd: fix a typo in metadata_get comments 26138/head
songweibin [Fri, 25 Jan 2019 08:56:05 +0000 (16:56 +0800)]
pybind/rbd: fix a typo in metadata_get comments

Signed-off-by: songweibin <song.weibin@zte.com.cn>
6 years agoMerge pull request #26120 from idryomov/wip-doc-osd-map-config
Ilya Dryomov [Fri, 25 Jan 2019 07:51:36 +0000 (08:51 +0100)]
Merge pull request #26120 from idryomov/wip-doc-osd-map-config

doc/rados/configuration: refresh osdmap section

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agomds: trim cache after journal flush 26083/head
Patrick Donnelly [Tue, 22 Jan 2019 20:12:55 +0000 (12:12 -0800)]
mds: trim cache after journal flush

Dropping cache should trim the cache only after journal flush otherwise dirty
inodes will remain pinned in cache.

Fixes: http://tracker.ceph.com/issues/38010
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoinclude/xlist: prevent item moves 26086/head
Patrick Donnelly [Wed, 23 Jan 2019 01:04:40 +0000 (17:04 -0800)]
include/xlist: prevent item moves

This would result in undefined behavior.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoinclude/xlist: privatize item members
Patrick Donnelly [Wed, 23 Jan 2019 01:04:31 +0000 (17:04 -0800)]
include/xlist: privatize item members

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>