Commit Graph

137070 Commits

Author SHA1 Message Date
Lucian Petrut
0c25ca6564 rbd-wnbd: optionally handle wnbd adapter restart events
The WNBD adapter may be reset in certain situations (e.g. driver
upgrade, MS WHQL tests, etc).

We're going to monitor the WNBD adapter using WMI[1] events, restarting
the rbd-wnbd disk mappings whenever necessary. Adapter monitoring can be
enabled by passing the --adapter-monitoring-enabled flag to the service.

This feature is optional for the following reasons:

* it's mainly used during development / driver certification
* we had to use a relatively small polling interval, which might imply
  additional resource usage. WMI quotas also have to be considered.

While at it, we're updating two lambdas that are submitted to thread pools,
avoiding default reference capturing and explicitly specifying the variables
that get copied.

[1] https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
2023-03-24 08:58:15 +00:00
Lucian Petrut
a47caa156a common: add win32/wstring.h
Windows APIs heavily use wchar. ceph-dokan and rbd-wnbd
have some duplicated helpers that convert wstrings to/from
utf8 strings.

To avoid duplication and allow reusing those helpers, we're moving
them to common/win32/wstring.h.

We're using the "win32" subfolder because it's unlikely that this
will ever be used on other platforms.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
2023-03-22 14:34:52 +00:00
Casey Bodley
504ff07cda
Merge pull request #49328 from BryceCao/wip-fix-python-script-using-s3cmd-with-error-code-403
rgw : fix python script using s3cmd with error code 403

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2023-03-22 08:59:19 -04:00
zdover23
6e67bf80aa
Merge pull request #50606 from zdover23/wip-doc-2023-03-21-rados-operations-erasure-code
doc/rados: line-edit erasure-code.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2023-03-22 08:09:20 +10:00
Casey Bodley
fa7394f797
Merge pull request #50486 from linuxbox2/wip-dedup-opsqs
Do not duplicate query-string in ops-log

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2023-03-21 17:52:28 -04:00
Laura Flores
f826514091
Merge pull request #50468 from aclamk/wip-aclamk-harmonize-bluefs-log
os/bluestore: BlueFS: harmonize log read and writes modes
2023-03-21 15:42:52 -05:00
Mark Kogan
2cb9441180 rgw : fix python script using s3cmd with error code 403 w/https
Fixes: https://tracker.ceph.com/issues/54104

Signed-off-by: Mark Kogan <mkogan@redhat.com>
2023-03-21 18:30:12 +02:00
Zac Dover
2ff9965e02 doc/rados: line-edit erasure-code.rst
Line-edit doc/rados/operations/erasure-code.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
2023-03-21 23:53:35 +10:00
Yingxin
b0615fd368
Merge pull request #50602 from xxhdx1985126/wip-invalid-clean-pending-extents
crimson/os/seastore: don't set INVALID extents to CLEAN when reading extents

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2023-03-21 15:55:27 +08:00
Xuehan Xu
729dabd8ff crimson/os/seastore: don't set INVALID extents to CLEAN when reading
extents

CLEAN_PENDING extents may be invalidated before read completes:

1. transaction A retired an laddr, which lead to a RetirePlaceHolder in
   Cache
2. transaction B try to read that extent, and replace A's
   RetirePlaceHolder with it;
3. transaction A commits and invalidate that extent;
4. transaction B complete reading that extent;

In this case, we shouldn't set the extent's state to CLEAN

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2023-03-21 06:01:35 +00:00
zdover23
e1587eed91
Merge pull request #50488 from zdover23/wip-doc-2023-03-13-rados-bluestore-migration-2-of-x
doc/rados: edit operations/bs-migration (2 of x)

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2023-03-20 10:59:21 +10:00
zdover23
7f61cd80d5
Merge pull request #50487 from zdover23/wip-doc-2023-03-12-rados-bluestore-migration
doc/rados: edit operations/bs-migration (1 of x)

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2023-03-20 10:58:55 +10:00
zdover23
3faae31813
Merge pull request #50579 from zdover23/wip-doc-2023-03-18-rados-configuration-mon-lookup-dns
doc/rados: line edit mon-lookup-dns top matter

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2023-03-19 17:56:22 +10:00
Zac Dover
ed5919964b doc/rados: line edit mon-lookup-dns top matter
Improve the syntax of the top matter of
doc/rados/operations/mon-lookup-dns.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
2023-03-19 17:34:58 +10:00
Casey Bodley
ee1ae6cbd0
Merge pull request #49443 from cbodley/wip-qa-supported-distros
qa/distros: add ubuntu 22 as supported distro

Reviewed-by: Yuri Weinstein <yuriw@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2023-03-17 15:36:41 -04:00
Rishabh Dave
3203d6005e
Merge pull request #50498 from rishabh-d-dave/fs-qa-caps-helper-minor
qa/cephfs: minor corrections in caps_helper.py

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
2023-03-17 23:53:27 +05:30
Yingxin
736b382767
Merge pull request #50556 from aravind-wdc/fix-header
crimson: fix build error

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2023-03-17 22:07:40 +08:00
Ilya Dryomov
15c86b7448
Merge pull request #50559 from petrutlucian94/improve_win32_clock_check
common: avoid redefining clock type on Windows

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2023-03-17 13:30:12 +01:00
Venky Shankar
544635a3ef Merge PR #50544 into main
* refs/pull/50544/head:
	test/libcephfs: skip flaky timestamp assertion on Windows

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
2023-03-17 14:25:42 +05:30
Nizamudeen A
ab730ef5e1
Merge pull request #50106 from rhcs-dashboard/new-landing-page-and-toggle-button
mgr/dashboard: add button toggle to switch between landing pages
2023-03-17 14:01:29 +05:30
Lucian Petrut
489fd85847 common: avoid redefining clock type on Windows
mingw >= 8.0.1 defines CLOCK_REALTIME_COARSE, so we'll avoid
overriding it if already set.

Clock precision [1]:

mingw < 8.0.1:
  * CLOCK_REALTIME: ~10-55ms (GetSystemTimeAsFileTime)
mingw >= 8.0.1:
  * CLOCK_REALTIME: <1us (GetSystemTimePreciseAsFileTime)
  * CLOCK_REALTIME_COARSE: ~10-55ms (GetSystemTimeAsFileTime)

* CLOCK_MONOTONIC: <1us if TSC is usable, ~10-55ms otherwise
                   (QueryPerformanceCounter)

[1] dcd990ed42

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
2023-03-17 07:38:16 +00:00
zdover23
5da240be17
Merge pull request #50563 from zdover23/wip-doc-2023-03-17-rados-operations-upmap
doc/rados: line-edit upmap.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2023-03-17 15:54:32 +10:00
Zac Dover
a4a6818464 doc/rados: line-edit upmap.rst
Edit all of doc/rados/upmap.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
2023-03-17 15:23:03 +10:00
Anthony D'Atri
61bc9d2564
Merge pull request #50564 from Thingee/update-foundation-202303
docs: Update Foundation members for March 2023
2023-03-16 18:32:42 -04:00
Mike Perez
ff52c3ebee docs: Update Foundation members for March 2023
Signed-off-by: Mike Perez <thingee@gmail.com>
2023-03-16 15:24:33 -07:00
Aravind Ramesh
917cba60ca crimson: fix build error
With -DWITH_SEASTAR=ON, build is failing.

src/crimson/osd/osd_operations/snaptrim_event.cc:174:29: error: ‘sleep’ is not a member of ‘seastar’

Signed-off-by: Aravind Ramesh <Aravind.Ramesh@wdc.com>
2023-03-16 14:23:47 +05:30
Lucian Petrut
5b2166fbd3 test/libcephfs: skip flaky timestamp assertion on Windows
There's a new libcephfs test that creates a snapshot and
compares ctime/mtime. The issue is that one of the assertion
fails on Windows, potentially due to reduced timestamp
precision.

For now, we'll skip those assertions on Windows.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
2023-03-16 08:23:27 +00:00
Pedro Gonzalez Gomez
21dc93ae11 mgr/dashboard: add button toggle to switch between new and old landing page
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
2023-03-15 22:21:23 +01:00
Neha Ojha
313921afcf
Merge pull request #50534 from neha-ojha/wip-release-cl
doc/dev/release-checklists.rst: add after dev freeze section

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2023-03-15 12:50:42 -07:00
Ilya Dryomov
3b1610997a qa/workunits/rbd: use bionic version of qemu-iotests for jammy
Same as in commit 2de2146c30 ("qa/workunits/rbd: use bionic version
of qemu-iotests for focal").

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2023-03-15 17:12:36 +01:00
Nizamudeen A
4ca01902bb
Merge pull request #50214 from rhcs-dashboard/landing-page-prom-error-fix
mgr/dashboard: fix prometheus api issues on landing page v3

Reviewed-by: Pegonzal <NOT@FOUND>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2023-03-15 12:11:48 +05:30
Yingxin
c2cedfb427
Merge pull request #47974 from zhscn/wip-evict
crimson/os/seastore: evict cold data to slower devices

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2023-03-15 11:02:43 +08:00
Zhang Song
c53446df68 test/crimson/seasatore: add evction test
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:22:33 +08:00
Zhang Song
5bc650a060 crimson/os/seastore/EPM: cleanup alloc_new_extent
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:22:33 +08:00
Zhang Song
6115635538 crimson/os/seasotre/segment_manager_group: ensure the types of devices are same
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:22:33 +08:00
Zhang Song
b40304092b crimson/os/seastore: add EPHEMERAL_COLD device type
rename SEGMENTED_EPHEMERAL to EPHEMERAL_MAIN

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:22:33 +08:00
Zhang Song
45c53a26c6 crimson/os/seastore/EPM/BackgroundProcess: introduce more eviction policy
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:22:33 +08:00
Zhang Song
4aea0e266d crimson/os/seastore/EPM/BackgroundProcess: reserve space on cold cleaner
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:22:33 +08:00
Zhang Song
7b0ccecbce crimson/os/seastore: get segment info from cold segment provider
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:22:33 +08:00
Zhang Song
783c5e7662 crimson/os/seastore: support mark_space_{free, used} on cold_cleaner
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:22:33 +08:00
Zhang Song
b40f6421f0 src/vstart.sh: support specify the type of secondary device
doc/crimson: add options and example about SeaStore

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:22:31 +08:00
Zhang Song
9283b72e47 crimson/os/seastore: change the category of COLL_BLOCK
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:21:08 +08:00
Zhang Song
1e515e8561 crimson/os/seastore: specify the device type explicitly when constructing BlockSegmentManager
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:21:08 +08:00
Zhang Song
89939e7ad7 crimson/os/seastore: make segment_manager work with HDD
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:21:08 +08:00
Zhang Song
0d20f1595a crimson/os/seasotre: add CLEANER_COLD transaction type
rename CLEANER to CLEANER_MAIN

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:21:08 +08:00
Zhang Song
5876ef35b6 crimson/os/seastore: init cold segment cleaner
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:21:08 +08:00
Zhang Song
483e368268 crimson/os/seastore/SegmentCleaner: distinguish the cold cleaner from the normal
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:21:08 +08:00
Zhang Song
343f579748 crimson/os/seastore/EPM/BackgroundProcess: add cold_cleaner
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:21:08 +08:00
Zhang Song
944c1253bf crimson/os/seastore: move ool segment seq allocator to EPM
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:21:08 +08:00
Zhang Song
86e2f4b24b crimson/os/seastore/EPM: refactor reserve process
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
2023-03-15 09:21:08 +08:00