Commit Graph

116697 Commits

Author SHA1 Message Date
Kefu Chai
ef12ea6bae
Merge pull request #37879 from tchaikov/wip-seastar-v6
crimson: use Seastar API v6

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
2020-11-02 18:27:54 +08:00
Nizamudeen A
1d5dcaea5d mgr/dashboard: Fix for disabled buttons gets a border when clicked
When focused on any disabled buttons in the UI an orange border and shadow is showing.

Fixes: https://tracker.ceph.com/issues/48069
Signed-off-by: Nizamudeen A <nia@redhat.com>
2020-11-02 15:48:48 +05:30
Mykola Golub
903c798a29
Merge pull request #37894 from dillaman/wip-48035
librbd: global config overrides do not apply to in-use images

Reviewed-by: Mykola Golub <mgolub@suse.com>
2020-11-02 11:02:59 +02:00
Kefu Chai
59c170e7c6
Merge pull request #37907 from athanatos/sjust/wip-fix-init-weak
crimson/os/seastore/.../lba_btree_node_impl: hold reference to *this during lookup

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-11-02 16:38:23 +08:00
Samuel Just
7230aac40c crimson/os/seastore/.../lba_btree_node_impl: hold reference to *this during lookup
4f2f4f modified TransactionManager::mount() to use a weak_transaction
while calling init_cached_extents.  This is fine, but lookup() needs
to hold a reference to *this until the child lookup completes in order
to ensure residence in the lba pinning set.

Signed-off-by: Samuel Just <sjust@redhat.com>
2020-11-02 00:05:37 -08:00
Aashish Sharma
2df7bca459 mgr/dashboard:Improvements in cluster > OSDs
Made osd-id the first column of the table instead of Host.

Fixes:https://tracker.ceph.com/issues/47478
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2020-11-02 12:48:42 +05:30
Nizamudeen A
77281d0f78 mgr/dashboard: Disable the button in the forms that are disabled
Currently only the input and select components are disabled in the forms for the disabled forms (when user is read only). This address that bug and fixes it.

Fixes: https://tracker.ceph.com/issues/48063
Signed-off-by: Nizamudeen A <nia@redhat.com>
2020-11-02 12:32:15 +05:30
Paul Cuzner
16c449280d doc/dev/dashboard: typo fix
Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
2020-11-02 17:50:42 +13:00
Paul Cuzner
88346c790c doc/dev/dashboard: link designs to dev guide
Add a feature design section to the dashboard dev
guide, linking to the individual docs under dov/dev/dashboard

Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
2020-11-02 17:36:44 +13:00
Paul Cuzner
c0a49c8fd9 doc/dev/dashboard: Document key UI design principles
Document which defines the high level design principles
for the Ceph Dashboard UI

Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
2020-11-02 17:36:43 +13:00
Kefu Chai
ac33cea383
Merge pull request #37590 from pcuzner/prometheus-slow-ops
mgr/prometheus: Add SLOW_OPS healthcheck as a metric

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-11-02 11:32:06 +08:00
Paul Cuzner
fc1905b4a7 mgr: add doc to describe relationship to prometheus
The healthcheck for slow_ops is used by the mgr/prometheus
module so it's important the alert generated matches the
format expected in mgr/prometheus.

Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
2020-11-02 15:33:46 +13:00
Paul Cuzner
2010432b50 mgr/prometheus: Add healthcheck metric for SLOW_OPS
SLOW_OPS is triggered by op tracker, and generates a health
alert but healthchecks do not create metrics for prometheus to
use as alert triggers. This change adds SLOW_OPS metric, and
provides a simple means to extend to other relevant health
checks in the future

If the extract of the value from the health check message fails
we log an error and remove the metric from the metric set. In
addition the metric description has changed to better reflect
the scenarios where SLOW_OPS can be triggered.

Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
2020-11-02 15:30:49 +13:00
Jason Dillaman
87bc86e311 rbd: show migration source spec in image status
When using the non-legacy mode image migration, the 'rbd status'
command will now show the source-spec for the migration if the
source pool id is invalid.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:44:30 -05:00
Jason Dillaman
51478deab2 rbd: ensure the help printer doesn't print past the end of the line
When long command names and long optional names are combined,
it's possible for the help text to be printed beyond the 80
character limit.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:44:30 -05:00
Jason Dillaman
9edc30366b librbd: replace direct reads from ImageRequest with ImageDispatchSpec
Read requests will always need to go via the image dispatch layer to
ensure migrations are properly handled.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:44:29 -05:00
Jason Dillaman
8a9f6dde28 librbd/migration: allow native v2 images to be opened by name
When in import-only mode, allow the source image to be opened by
name in case it's a V2 image format w/o its image id specified in
the JSON.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
9304f93bc6 librbd/migration: close image if failed to open source
To remain consistent between the native which will automatically close
the ImageCtx if it fails to open the image, the raw format should also
close the ImageCtx.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
ecac0a7563 librbd/migration: initialize default source image layout
For backing source formats that don't care about the low-level
RBD layout details, provide safe default values for the layout
to ensure that striping logic will still function.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
bb38c391b6 librbd: fix potential recursive lock of ImageCtx::image_lock
If the "list_snaps" IO call returns immediately, it can result
in an attempted recursive lock starting from CopyupRequest.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
0ef9cec0bd librbd: migration execute should allow "EXECUTING" state
If the "execute" action was interrupted, we need to be able to
restart it.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
d63a564f22 librbd: read image size when opening migration raw format
The migration prepare operation will need to know the size of
the source image so that it can create the destination image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
9ad4d7936a librbd/migration: fix issue with prepare-import and native-format
When preparing an import, the native format can not expect to have
the child image opened since it hasn't been created yet.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
d6133f9bf2 librbd: added new 'migration_prepare_import' API methods
These related methods accept a JSON-encoded source-spec that
describes how to read from the source image. The migration is
a one-way operation, so children/groups/etc won't be updated
to point to the new destination image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
e5398d1429 librbd: store migration progress on both source+destination images
When migrating from an import-only source-spec like an external
file, it will be important to also store the progress on the
destination image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
5869d13fb5 librbd: switch to migration source-spec builder
Remove all the hard-coded references to the NativeFormat
handler and allow the RawFormat+FileStream handlers to be
instantiated.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
c7bbb676a8 librbd: switch migration native format to use source-spec JSON object
Remove the dependency on the MigrationInfo struct and allow the native
format to directly pull parameters from the JSON-encoded object
structure.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
c87fe97761 librbd: tweak native-format migration source-spec
Renamed "format" property to "type" and always include the original
"image_id".

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
43749377cb librbd/api: ImageCtx must be closed instead of deleted
On error, the destination image context will need to be properly
closed instead of just deleted.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 09:22:38 -05:00
Jason Dillaman
6fef5198b3
Merge pull request #36626 from lixiaoy1/rbd_image_discard
librbd/rwl: discard cache

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-11-01 08:42:01 -05:00
Kefu Chai
8a58d7fdf5
Merge pull request #37870 from xxhdx1985126/wip-crimson-recovery-bug-fixes
crimson: recovery-related bug fixes

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-11-01 21:23:59 +08:00
Kefu Chai
00b78a6ad5
Merge pull request #37910 from tchaikov/wip-crimson-osd-send-pg-temp
crimson/osd: merge pg_temp_wanted before sending them

Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
2020-11-01 21:21:42 +08:00
Yuval Lifshitz
2996d138cb
Merge pull request #37656 from yuvalif/allow_lua_to_set_metadata
rgw/lua: allow setting metadata via lua
2020-11-01 12:03:26 +02:00
Volker Theile
8132764e70 mgr/dashboard: displaying time in human-readable format
Fixes: https://tracker.ceph.com/issues/47884

Signed-off-by: Volker Theile <vtheile@suse.com>
2020-11-01 09:53:20 +01:00
Kefu Chai
4d17fda7e3 crimson/osd: merge pg_temp_wanted before sending them
there is chance that new pg_temp_wanted is added when we are sending
them in ShardServices::send_pg_temp(), but the pg temp are already
collected into the messages before seastar::parallel_for_each(). so,
we cannot move all elements from pg_temp_wanted to pg_temp_pending after
sending the messages, that'd also move the unsent pg temps to
pg_temp_pending as well. so we have to do this before do the async call,

this issue was root caused by Xuehan Xu <xxhdx1985126@gmail.com>.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-11-01 11:55:42 +08:00
Kefu Chai
dbbd2d32f3 crimson/osd: drop ShardServices::_sent_pg_temp()
there is no need to define a wrapper for moving pg_temp_wanted to
pg_temp_pending. and it hurts the readability.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-11-01 11:55:03 +08:00
Xuehan Xu
124aa74deb crimson/osd: report statfs data
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2020-11-01 11:37:21 +08:00
Xuehan Xu
471531e25d crimson/osd: rename heartbeat_timer to tick_timer
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2020-11-01 11:37:21 +08:00
Xuehan Xu
8b7d0ae035 crimson/common: make Gated handle gate_close_exception
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2020-11-01 11:37:21 +08:00
Kefu Chai
6656cae082 crimson/osd: do not check HAVE_STDLIB_MAP_SPLICING
seastar always uses GCC-9 and up, so there is no need to check for
the existence of map::merge() before using it anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-11-01 11:28:28 +08:00
Xuehan Xu
d205776796 crimson/osd: clean up pending_txn when actingset is changed
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2020-11-01 10:39:24 +08:00
Xuehan Xu
c7e6b6f021 crimson/osd: fix pg info statistics error during recovery
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2020-11-01 10:38:45 +08:00
Xuehan Xu
3a8f133923 crimson/osd: make I/O reqs wait for object recovery if it's degraded or backfilling
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2020-11-01 10:25:22 +08:00
Kefu Chai
038750c78a
Merge pull request #37327 from kamoltat/wip-mgr-progress-global-event
mgr/progress: Global Recovery Event in ceph -s

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2020-10-31 11:43:27 +08:00
Kefu Chai
a45fab9f81
Merge pull request #37598 from ronen-fr/scrubstore-fix-rf
osd: fix signatures of get_store_errors() and friends

Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-By: Neha Ojha <nojha@redhat.com>
2020-10-31 11:42:35 +08:00
Kefu Chai
e96c45d9d2
Merge pull request #37751 from changchengx/nasm_avx512
common: use nasm to build isa-l and isa-l_crypto to prepare for AVX512

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-10-31 11:41:19 +08:00
Josh Durgin
8a2f2d82f4
Merge pull request #37773 from sunnyku/wip-f33-pyfix
do_cmake.sh: use python-3.9 with fedora version 33

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2020-10-30 08:15:59 -07:00
Jason Dillaman
0cd14ccff2
Merge pull request #37789 from trociny/wip-47827
mgr/rbd_support: create mirror snapshots asynchronously

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-10-30 09:40:10 -04:00
Yuval Lifshitz
e96331fdab rgw/lua: use lua exceptions instead of ceph_asserts
also use lua assert() in uni tests instead of print()
fix bug when accessing user id in an ACL grant

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
2020-10-30 14:50:51 +02:00
Lenz Grimmer
21b24e0247
Merge pull request #37482 from rhcs-dashboard/datatable_click_prevent
mgr/dashboard: Prevent table items from getting selected while expanding

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2020-10-30 09:55:47 +01:00