Commit Graph

91845 Commits

Author SHA1 Message Date
Xie Xingguo
e6f9241aeb
Merge pull request #24657 from xiexingguo/wip-rm-device-class-fix
mon/OSDMonitor: two "ceph osd crush class rm" fixes

Reviewed-by: Sage Weil <sage@redhat.com>
2018-10-27 09:49:57 +08:00
Patrick Donnelly
6da295f3cb
Merge PR #24585 into master
* refs/pull/24585/head:
	doc: add developer documentation on new cephfs reclaim interfaces

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Zheng Yan <zyan@redhat.com>
2018-10-26 16:28:43 -07:00
Yuri Weinstein
64db174368
Merge pull request #21094 from guzhongyan/dne-cleanup
src: no 'dne' acronym in user cmd output

Reviewed-by: Neha Ojha <nojha@redhat.com>
2018-10-26 15:25:04 -04:00
Yuri Weinstein
135edcc55a
Merge pull request #22633 from dongbula/add-dbstatistics-for-filestore
OSD: add impl for filestore to get dbstatistics

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2018-10-26 15:24:09 -04:00
Yuri Weinstein
1998c7a542
Merge pull request #23528 from jcsp/wip-osdmon-application
mon: don't commit osdmap on no-op application ops

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2018-10-26 15:23:18 -04:00
Zack Cerza
2887f8e973 mgr/dashboard: Map dev 'releases' to master
In CephReleaseNamePipe, we used to blindly return the "release name" portion of
the version string. This ends up e.g. returning 'nautilus' for master right
now, which causes us to link to nonexistent documentation on ceph.com.  This
change causes builds marked as 'dev' (as opposed to 'stable') to report
'master' as their release name.

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

Signed-off-by: Zack Cerza <zack@redhat.com>
2018-10-26 11:22:53 -06:00
J. Eric Ivancich
4891ae5931 rgw: recover from incomplete reshard attempt
In case a reshard attempt is left in an incomplete state, i.e., flags
still show resharding even though the bucket reshard lock isn't being
held, try to recover by taking the bucket reshard lock and clearing
flags associated with resharding.

This change requires access to an RGWBucketInfo object. So call stack
into this function should provide that to prevent unnecessary
work. Changes were made to provide this object.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2018-10-26 12:17:54 -04:00
Sage Weil
51d8e2457d osd: take heartbeat_lock before checking for session
When we open a connection, there is a short window before we attach
the session.  If a fault happens quickly, we won't get the reset, and
will persistently fail to send osd pings.

Move the lock up to avoid this.  Note that we should rarely really see
connections without sessions here anyway (except when this specific
race happens), so this should have no negative impact (by taking the lock
when we weren't before).

Fixes: http://tracker.ceph.com/issues/36602
Signed-off-by: Sage Weil <sage@redhat.com>
2018-10-26 10:39:28 -05:00
J. Eric Ivancich
18ab99cd54 rgw: move RGWReshardBucket lock to its own separate class
There are other processes beyond resharding that would need to take a
bucket reshard lock (e.g., correcting bucet resharding flags in event
of crash, tools to remove bucket shard information from earlier
versions of ceph). Pulling this logic outside of RGWReshardBucket
allows this code to be re-used.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2018-10-26 11:38:55 -04:00
Alfredo Deza
e828c56d08
Merge pull request #24504 from ErwanAliasr1/evelu-ceph-volume-choose_disk
Additional work on ceph-volume to add some choose_disk capabilities

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2018-10-26 11:32:37 -04:00
Sage Weil
d76789444c osd: fix race between op_wq and context_queue
ThreadA                             		                   ThreadB
  sdata->shard_lock.Lock();
  if (sdata->pqueue->empty() &&
     !(is_smallest_thread_index && !sdata->context_queue.empty())) {

								    void queue(list<Context *>& ls) {
								        bool empty = false;
                                                                       {
                                                                         std::scoped_lock l(q_mutex);
                                                                         if (q.empty()) {
                                                                           q.swap(ls);
                                                                           empty = true;
                                                                         } else {
                                                                           q.insert(q.end(), ls.begin(), ls.end());
                                                                         }
                                                                       }

                                                                       if (empty) {
                                                                         mutex.Lock();
                                                                         cond.Signal();
                                                                         mutex.Unlock();
                                                                       }
                                                                    }

     sdata->sdata_wait_lock.Lock();
    if (!sdata->stop_waiting) {

Fix by simply rechecking that context_queue is empty after taking the
wait lock.  We still check it without taking that lock to keep the hot/busy
path fast (we avoid the wait lock in general) at the expense of taking
the context_queue qlock twice in the idle/wait path (where we don't care
so much about additional latency/cycles).

Fixes: http://tracker.ceph.com/issues/36473
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
Signed-off-by: Sage Weil <sage@redhat.com>
2018-10-26 10:27:09 -05:00
J. Eric Ivancich
4577801271 rgw: failed resharding clears resharding status from shard heads
Previously, when resharding failed, we restored the shard status on
the bucket info object. However the status on each of the shards was
left indicating a reshard was underway. This prevented some write
operations from taking place, as they would wait for resharding to
complete. This adds the missing functionality. It also makes the
functionality available to other classes via static functions in
RGWBucketReshard.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2018-10-26 11:19:22 -04:00
J. Eric Ivancich
bc0a5ff952 rgw: change the bucket reshard lock to exclusive-ephemeral
The bucket reshard lock was simply an exclusive lock that existed on
an object solely for the purpose of representing the lock. This is now
changed to exclusvie-ephemeral lock, so as not to leave these objects
behind.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2018-10-26 11:19:22 -04:00
J. Eric Ivancich
a289f2d865 cls: add exclusive ephemeral locks that auto-clean
Add a new type of cls lock -- exclusive ephemeral for which the
object only exists to represent the lock and for which the object
should be deleted at unlock. This is to prevent the accumulation of
unneeded objects in the cluster by automatically cleaning them up.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2018-10-26 11:19:22 -04:00
Sage Weil
72daf28986 Merge PR #24703 into master
* refs/pull/24703/head:
	common: prefer std::size to ARRAY_SIZE macro

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-10-26 09:18:50 -05:00
Sage Weil
c98bd0b026 Merge PR #24712 into master
* refs/pull/24712/head:
	mgr/DaemonServer: "osd safe-to-destroy" - more verbose output

Reviewed-by: Sage Weil <sage@redhat.com>
2018-10-26 09:18:33 -05:00
Sage Weil
80bb0664d6 Merge PR #24713 into master
* refs/pull/24713/head:
	mon: drop repeated 'goodchars' and add osd crush ls testcase

Reviewed-by: João Eduardo Luís <joao@suse.de>
2018-10-26 09:18:13 -05:00
Sage Weil
1227bf5f6d Merge PR #24724 into master
* refs/pull/24724/head:
	test/librados/aio: remove unused callbacks
	test/librados/aio: wait for all completions properly

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-10-26 09:17:54 -05:00
Sage Weil
dc9de8ce02 Merge PR #24736 into master
* refs/pull/24736/head:
	os/tests: should read size_t options using get_val<Option::size_t>()

Reviewed-by: Sage Weil <sage@redhat.com>
2018-10-26 09:17:23 -05:00
John Spray
c5fd31dfcc
Merge pull request #24767 from votdev/issue_36581
mgr/dashboard/qa: Fix various vstart_runner.py issues

Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2018-10-26 15:09:59 +01:00
Kefu Chai
fd80d4b476 rpm: use %license macro for packaging license file
see https://rpm-guide.readthedocs.io/en/latest/rpm-guide.html#rpm-macros

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-10-26 22:04:38 +08:00
Kefu Chai
ef305c178a cmake: update dpdk drivers/modules to accomodate dpdk submodule
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-10-26 21:49:03 +08:00
John Spray
63e603963f
Merge pull request #24584 from wido/docs-zabbix-template
doc: Update mgr/zabbix plugin documentation with link to Zabbix template

Reviewed-by: John Spray <john.spray@redhat.com>
2018-10-26 14:30:54 +01:00
Mehdi Abaakouk
6a2ed6c285 ceph-volume: use console_scripts
Using "#!/usr/bin/env python" is not recommended as it's not portable.

setuptools provides an console_scripts entry_point that generates
scripts that always have the good sheban whatever the target operating
system and python version/distribution.

http://tracker.ceph.com/issues/36601

Signed-off-by: Mehdi Abaakouk <sileht@sileht.net>
2018-10-26 15:14:19 +02:00
Laura Paduano
b9e974128c
Merge pull request #24606 from p-na/osd-actions-fe
mgr/dashboard: Add support for managing individual OSD settings/characteristics in the frontend

Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
2018-10-26 14:24:33 +02:00
Wido den Hollander
a17177044e
doc: Update mgr/zabbix plugin documentation with link to Zabbix template
Signed-off-by: Wido den Hollander <wido@42on.com>
2018-10-26 13:45:02 +02:00
Jason Dillaman
e5a166fc25
Merge pull request #24297 from ukernel/wip-36192
osdc: reduce ObjectCacher's memory fragments

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-10-26 07:23:26 -04:00
Kefu Chai
759e0346a3 spdk: update to latest v18.07
Fixes: http://tracker.ceph.com/issues/36550
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-10-26 17:58:41 +08:00
Jos Collin
0e15ebe80d
Merge pull request #24756 from tspmelo/wip-contribs
.githubmap, .mailmap, .organizationmap: update contributors

Reviewed-by: Jos Collin <jcollin@redhat.com>
2018-10-26 14:40:12 +05:30
Lenz Grimmer
0c84be2306
Merge pull request #24727 from zmc/wip-dashboard-gzip
mgr/dashboard: Enable gzip compression

Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
2018-10-26 11:05:27 +02:00
Pritha Srivastava
37675172fb rgw: Refactored rgw_rest_read_all_input() using bufferlist.
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
2018-10-26 14:19:47 +05:30
Tiago Melo
70e2487831 .githubmap, .mailmap, .organizationmap: update contributors
Signed-off-by: Tiago Melo <tmelo@suse.com>
2018-10-26 09:25:44 +01:00
Volker Theile
00e3022710 mgr/dashboard/qa: CephfsTest - admin_socket() got an unexpected keyword argument 'timeout'
Adapt method arguments of LocalRemote::run() according to teuthology.orchestra.run.run() (see https://github.com/ceph/teuthology/blob/master/teuthology/orchestra/run.py#L364) to be able to run QA tests locally in a vstart cluster.

Fixes: http://tracker.ceph.com/issues/36581
Signed-off-by: Volker Theile <vtheile@suse.com>
2018-10-26 09:59:11 +02:00
Tiago Melo
8b9fc5fe1f mgr/dashboard: Reduce Jest logs in CI
With the current number of unit tests we have for the frontend the output from
Jest is too big, and is exceeding the limit from jenkins.
This is resulting in the omission of linting results.

With this change, Jest will only output the results of failing tests and will no
longer show the coverage in the logs.
Jenkins will keep tracking the coverage via the generated cobertura file.

Signed-off-by: Tiago Melo <tmelo@suse.com>
2018-10-26 00:21:34 +01:00
Jason Dillaman
f2db4bc881
Merge pull request #24720 from gauravsitlani/master
doc: added rbd default features

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-10-25 16:56:05 -04:00
Jeff Layton
2152b9b28a doc: add developer documentation on new cephfs reclaim interfaces
Tracker: http://tracker.ceph.com/issues/36395
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2018-10-25 15:50:16 -04:00
Gaurav Sitlani
5ea5263d13
doc: added rbd default features
Fixes: https://tracker.ceph.com/issues/15000
Added RBD default features description

Signed-off-by: Gaurav Sitlani <gauravsitlani@riseup.net>
2018-10-26 01:12:31 +05:30
Patrick Donnelly
74918fa908
Merge PR #24716 into master
* refs/pull/24716/head:
	test/log: drop redundant test case
	common/StackStringStream: don't reserve before every insert

Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-10-25 11:52:27 -07:00
Patrick Donnelly
1a8775a04b
Merge PR #24283 into master
* refs/pull/24283/head:
	client: support for exporting multiple subdirectories in faked mode

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Zheng Yan <zyan@redhat.com>
2018-10-25 11:51:30 -07:00
Patrick Donnelly
ed50fbdc08
Merge PR #24050 into master
* refs/pull/24050/head:
	Revert "mds: adjust export size after renaming directory into freezing subtree"
	mds: cleanup nested auth pins tracking

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-10-25 11:47:24 -07:00
Jeff Layton
4508a4de48 client: add new routine to get fscid from a ceph_mount
Ceph recently gained the ability to create alternate named filesystems
within a cluster. We want to allow nfs-ganesha to export them, but it
currently generates filehandles using a inode number+snapid tuple, and
that will not be unique across multiple filesystems.

Add a new field to hold the fscid in the Client, as that is generated
on a per-filesystem basis via monotonic counter. When we mount, fetch
the fscid and store it in that field. Add a new Client accessor, and a
libcephfs function that returns that value.

Tracker: http://tracker.ceph.com/issues/36585
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2018-10-25 14:28:48 -04:00
Boris Ranto
5debf36b37 rpm: Create ceph-grafana-dashboards package
Signed-off-by: Boris Ranto <branto@redhat.com>
2018-10-25 19:55:16 +02:00
Casey Bodley
86323971a2
Merge pull request #24700 from cbodley/wip-27221
rgw: support server-side encryption when SSL is terminated in a proxy

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
2018-10-25 13:11:37 -04:00
Kefu Chai
2e6fd44b64
Merge pull request #24721 from cbodley/wip-librados-mono-timeout
librados: fix unitialized timeout in wait_for_osdmap

Reviewed-by: Mohamad Gebai <mgebai@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-10-25 23:50:15 +08:00
Casey Bodley
65316c3a8a
Merge pull request #24680 from cbodley/wip-36537
rgw: fix vector index out of range in RGWReadDataSyncRecoveringShardsCR

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2018-10-25 11:41:24 -04:00
Casey Bodley
471508b2a8
Merge pull request #24677 from cbodley/wip-rgw-beast-derr
rgw: beast frontend logs socket errors at level 4

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-10-25 11:40:48 -04:00
Sage Weil
7a0f8854f2 Merge PR #24731 into master
* refs/pull/24731/head:
	rados: fix admin/build-doc warnings

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2018-10-25 10:32:20 -05:00
Lenz Grimmer
5baf7f6f3a
Merge pull request #24641 from ricardoasmarques/fix-cloning-message
mgr/dashboard: Fix long running RBD cloning / copying message

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
2018-10-25 17:30:35 +02:00
Alfredo Deza
1dddce58f4
Merge pull request #24587 from ceph/wip-rm36363
ceph-volume: adds a --prepare flag to `lvm batch`

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2018-10-25 11:15:53 -04:00
Boris Ranto
1ade714910 cmake: Support grafana dashboard installation
We are currently hosting the grafana dashboards in our repo but we do
not install them. This patch adds the cmake support.

Signed-off-by: Boris Ranto <branto@redhat.com>
2018-10-25 17:09:02 +02:00