Commit Graph

115613 Commits

Author SHA1 Message Date
Kefu Chai
d9ee3a1818 test/crimson: better error message when bind fails
See also: https://tracker.ceph.com/issues/47324

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-23 14:19:34 +08:00
Kefu Chai
33547674da crimson/osd: more constness
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-23 12:24:52 +08:00
Kefu Chai
35d37e2bff crimson/osd: add_recovery(oid) before recover_object(oid)
in 7736bddc53, we assumed that the object
to be recovered did not exist in `recovering` before
`recover_object(oid)` was called. but this turns out not true. so, in
this change, `add_object(oid)` is called before `recover_object(oid)`
gets called.

Fixes: https://tracker.ceph.com/issues/47593
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-23 12:20:16 +08:00
Kefu Chai
6cbc51db4e crimson/osd: use recoverying.at() when appropriate
this helps to avoid the confusion of "where the recovery is added" and
"are we adding a new instance of recovery here".

should call add_recovery() explicitly when we need to add a new recovery
instance.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-23 12:20:16 +08:00
Kefu Chai
3f0b358cc3 crimson/osd: add RecoveryBackend:add_recovering()
before this change, get_recovery() can also be used for adding a
recovery instance to `recovering`. this behavior is error-prone and
confusing.

after this change, add_recovery() is used in the place where we
want to add a new instance of recovery instance.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-23 12:20:16 +08:00
Kefu Chai
8fd1bd4a29
Merge pull request #37290 from tchaikov/wip-run-make-check
run-make-check.sh: fix syntax error

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2020-09-23 09:36:45 +08:00
Sebastian Wagner
9899c6c987
Merge pull request #37106 from sebastian-philipp/cephadm-overwritable-templates
mgr/cephadm: make j2 teamplates overwritable

Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Patrick Seidensal <pseidensal@suse.com>
2020-09-23 01:34:57 +02:00
Jason Dillaman
1f31e8bdb3
Merge pull request #37121 from Songweibin/wip-rbd-metadata
librbd: async version of metadata_set/remove

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-09-22 19:14:24 -04:00
Jason Dillaman
3baecb8614
Merge pull request #37083 from orozery/librbd-data-cryptor
librbd: add data encryptor/decryptor using openssl

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-09-22 19:14:07 -04:00
Jason Dillaman
78d630d4a5
Merge pull request #37110 from CongMinYin/qa_immutable_object_cache_check
qa: check immutable object cache content

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-09-22 19:12:42 -04:00
Jason Dillaman
d6dc783e83
Merge pull request #37237 from MahatiC/wip-fix-rwl-path
librbd/cache: Fix pwl_path read issue

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-09-22 19:11:47 -04:00
Michael Fritch
72b10c43c5
Merge pull request #37206 from bk201/wip-47387
mgr/rook: fix listing daemons

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Varsha Rao <varao@redhat.com>
2020-09-22 16:37:09 -06:00
Yan, Zheng
2e536cdd4a client: refresh rstat for quota check of rename
Fixes: https://tracker.ceph.com/issues/47224
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2020-09-22 20:31:08 +08:00
Lenz Grimmer
75763e67ed
Merge pull request #37043 from s0nea/wip-dashboard-47331
mgr/dashboard: log in non-admin users successfully if the telemetry notification is shown

Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
2020-09-22 13:55:47 +02:00
Prashant D
f8b7fddc4c mon: validate crush-failure-domain
While creating erasure-coded profile make sure
that user is specifying valid crush-failure-domain.

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

Signed-off-by: Prashant Dhange <pdhange@redhat.com>
2020-09-22 07:27:22 -04:00
Kefu Chai
b33e414000
Merge pull request #37293 from changchengx/osd_comment
osd: fix wrong comment about setting auth_client for messenger

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-22 17:46:09 +08:00
Kefu Chai
70b16d5b01 crimson/osd: do not add ref when constructing MessageRef
crimson::osd::PG::send_cluster_message() accepts a `Message*`
pointer, and then hand it over to `shard_services.send_to_osd()`,
which expects a `Ref<Message>`. so the raw pointer is used to
construct an `intrusive_ptr<Message>`, which increment the
refcount of that Message instance by one. but that Message
was owned by nobody before that, so we end up with an
`intrusive_ptr<Message>` of 2 refcount, and only a single
owner. hence the memory leak.

in this change, instructs the constructor to not add the refcount.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-22 17:13:21 +08:00
Kefu Chai
a631510d4f crimson/mon: do not set_value() again
once the continuation consuming the stored value of the associated
future, we cannot set_value() again. otherwise, ASan complains that we
are accessing the memory on heap after it is freed.

in this change, std::optional<> is used for holding
promise<auth_result_t>, once the promise is fulfilled, `auth_done` is
reset to prevent another call of `set_value()` or `set_exception()`.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-22 17:13:21 +08:00
Zac Dover
f0d1ba50ce doc/dev: updated date from 2016
This updates a date from 2016 to 2020,
so that readers can be confident that the
procedure that they're reading has been recently
tested.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2020-09-22 19:10:15 +10:00
Kefu Chai
182f6db9b1 crimson/mon: only finish auth when auth is completed
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-22 17:07:47 +08:00
Kefu Chai
bfe1a42c79 crimson/mon: s/AuthResult/auth_result_t/
auth_result_t is merely an enum, so make it like so.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-22 17:07:47 +08:00
Kefu Chai
70ba744667 crimson/mon: extract mon::Client::_finish_auth()
for better readability

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-22 17:07:47 +08:00
Changcheng Liu
072b552173 osd: correct comment about setting auth_client for messenger
client_messenger's auth_client has not been set until call
monc->init();

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-09-22 15:41:34 +08:00
Lenz Grimmer
ab53b20db6
Merge pull request #37152 from rhcs-dashboard/bottom-links-component
mgr/dashboard: Creating a new Login Page Legal Links Component

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
2020-09-22 09:23:32 +02:00
Changcheng Liu
1e9b18008c mon: set MonClient::_add_conn return type to void
The new created MonConnection are refered through
MonClient::pending_cons instead of through the return
value.

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-09-22 15:15:07 +08:00
Kiefer Chang
ba3350c7e8
mgr/dashboard: display devices' health information within a tabset
Wrap all devices' health information within a tabset
instead of displaying them from top to bottom.

Add more guard in the HTML template to prevent referencing undefined
variables.

Fixes: https://tracker.ceph.com/issues/47494
Fixes: https://tracker.ceph.com/issues/43177

Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
2020-09-22 14:38:34 +08:00
Kefu Chai
597ef5ea9a
Merge pull request #37291 from badone/wip-docker-test-helper-fixes
test/docker-test: helper fixes and support more distro releases

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-22 14:17:23 +08:00
Brad Hubbard
063763665f test: Add support for fedora 32, 33 and Ubuntu 20.04
Enable creation and use of these OS images in docker-test.

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2020-09-22 13:24:26 +10:00
Brad Hubbard
c0e6c64fba tests: Make sure install-deps is run noninteractively
This gets past things like tzconfig stopping for user input.
Remove redundant install of python-virtualenv.

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2020-09-22 13:24:26 +10:00
Kefu Chai
e806c4085d
Merge pull request #37200 from tchaikov/wip-crimson-with-lock
crimson/common: add helpers for seastar::with_lock()

Reviewed-by: Samuel Just <sjust@redhat.com>
2020-09-22 10:53:48 +08:00
Kefu Chai
77cc91a4ba run-make-check.sh: fix syntax error
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-22 10:17:56 +08:00
Kefu Chai
4aced0cba9
Merge pull request #37211 from tchaikov/wip-zbd
rpm,install-deps,run-make-check: enable WITH_ZBD build on demand

Reviewed-by: Neha Ojha <nojha@redhat.com>
2020-09-22 09:42:09 +08:00
Brad Hubbard
d5cbf38dbc test/centos-8: Install git before running install-deps
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2020-09-22 10:30:01 +10:00
Brad Hubbard
ac20919c6c test/docker-test: Fix permissions issue when using podman
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2020-09-22 10:28:09 +10:00
Patrick Donnelly
e15e825f85
Merge PR #36776 into master
* refs/pull/36776/head:
	systemd: Support Graceful Reboot for AIO Node

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: David Disseldorp <ddiss@suse.de>
2020-09-21 15:26:22 -07:00
Patrick Donnelly
6547276ec3
Merge PR #37227 into master
* refs/pull/37227/head:
	qa/cephfs: don't pass args to destroy() in recreate()

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-09-21 14:04:06 -07:00
Patrick Donnelly
c46bf97646
Merge PR #37233 into master
* refs/pull/37233/head:
	qa/mgr: revert a patch from commit 04ed58f

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2020-09-21 14:03:32 -07:00
Samuel Just
d257bf0e04
Merge pull request #37271 from cyx1231st/wip-seastore-fix-non-repeatable-read
crimson/seastore: fix potential non-repeatable-read from RootBlock

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
2020-09-21 10:57:43 -07:00
Ilya Dryomov
6827bbbcfb
Merge pull request #36927 from idryomov/wip-krbd-noudev
krbd: optionally skip waiting for udev events

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Sébastien Han <seb@redhat.com>
2020-09-21 19:39:30 +02:00
Patrick Donnelly
24e2e668e1
Merge PR #37213 into master
* refs/pull/37213/head:
	mgr/rook: Pass pod namespace to list_namespaced_pod()

Reviewed-by: Travis Nielsen <tnielsen@redhat.com>
2020-09-21 09:48:28 -07:00
Lenz Grimmer
1c4f3478fc
Merge pull request #37101 from LenzGr/master-documentation
doc: Updated `HACKING.rst` and `README.rst`

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
2020-09-21 17:58:03 +02:00
Lenz Grimmer
6279196e05
Merge pull request #37137 from tspmelo/wip-fix-iscsi-tests
mgr/dashboard: Fix iSCSI backend unit-test

Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
2020-09-21 14:33:19 +02:00
Kefu Chai
743b5bda65 blk/kernel: retry forever if bdev_flock_retry is 0
retry forever if cct->_conf->bdev_flock_retry is 0.
systemd-udevd is most likely the reason why ceph-osd fails to
acquire the flock when "mkfs", because systemd-udevd probes
all block devices when the device changes in the system using
libblkid, and when systemd-udevd starts looking at the device
it takes a `LOCK_SH|LOCK_NB` lock. and it releases the lock
right after done with it. so normally, it only takes a jiffy,
see
ee0b9e721a/src/shared/lockfile-util.c (L18)
so, we just need to retry couple times before acquiring the
lock.

Fixes: https://tracker.ceph.com/issues/46124
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-21 20:32:32 +08:00
Jason Dillaman
58db5bfa6f
Merge pull request #37262 from trociny/wip-rbd-nbd-quiesce-hook
rbd-nbd: fix typo in mini help

Reviewed-by: Jason Dillaman <dillaman@rehdat.com>
2020-09-21 08:19:08 -04:00
Kefu Chai
ec7fa39624 blk/kernel: use open file description lock if available
* use OFD lock if available. OFD is Linux specific, and only available
  on 3.15 kernels. OFD is able to synchronize both threads and
  processes. and has simpler semantics. this is just a cleanup.
  as we don't create threads for acquiring the flock.
* use BSD flock(2) as a fallback
* return the errno right away, without printing logging messages.
  for two reasons:
  - writing logging messages would reset the errno.
  - the caller of _lock() also prints the logging messages along
    with strerror(errno)

Fixes: https://tracker.ceph.com/issues/46124
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-21 20:17:36 +08:00
Kefu Chai
8fb80db9ff blk/kernel: use uint64_t for bdev_flock_retry
also drop bdev_flock_retry and bdev_flock_retry_interval from
legacy_config_opts.h, as `KernelDevice::_lock()` is not in the critical
path, there is no need to access these settings via member variables --
get_val<> would just suffice.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-21 20:17:36 +08:00
Kefu Chai
bcb197d5d8 blk/kernel: use sleep_for()
instead of relying on utime_t, use standard library directly.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-21 20:17:36 +08:00
Lenz Grimmer
529ff10c1d
Merge pull request #35785 from rhcs-dashboard/wip-45957-consolidate_Osd_Endpoints
mgr/dashboard: Consolidate Osd mark endpoints

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
2020-09-21 13:59:48 +02:00
Ilya Dryomov
d2884adb15 qa: add test for mapping and unmapping from a network namespace
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2020-09-21 13:54:08 +02:00
Guillaume Abrioux
888998f886
Merge pull request #37234 from guits/guits-quick-fix
ceph-volume: fix wrong type passed in terminal.warning()
2020-09-21 13:41:41 +02:00