Commit Graph

126294 Commits

Author SHA1 Message Date
Matt Benjamin
3863eb8951 rgw: permit logging of list-bucket (and any other no-bucket op)
This limitation is from inception (2011), but just recently reported by
a site using ops-log for system audit.

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

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2021-08-26 10:39:01 -04:00
Casey Bodley
bdee7f85f3
Merge pull request #42869 from cbodley/wip-49955
qa/rgw: move mixed-version multisite tests out of upgrade suite

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2021-08-26 10:32:23 -04:00
Daniel Gryniewicz
fcfea22ecd
Merge pull request #42922 from dang/wip-dang-zipper-cleanup
RGW Zipper Cleanups

Reviewed-by: Soumya Kadouri <skoduri@redhat.com>
2021-08-26 09:45:17 -04:00
Venky Shankar
41e52688c3
Merge pull request #42893 from jan--f/snap-sched-fix-multi-retention
snap-schedule: count retained snapshots per retention policy

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2021-08-26 18:02:34 +05:30
Igor Fedotov
b7b73d5daa
Merge pull request #42895 from ifed01/wip-ifed-improve-alloc-replay
test/allocator_replay_test: implement "try_alloc" command.

This tool has just limited manual  application when troubleshooting allocator's issues hence omitting QA run...

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
2021-08-26 14:08:40 +03:00
Igor Fedotov
6a0ac27dd2 test/store_test: fix broken test case
After merging NCB stuff missed shared blob detection doesn't reveal
extent leak any more - which is expected. Hence we need to adjust the
relevant UT.

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

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2021-08-26 14:02:35 +03:00
Samuel Just
ef57fef9a5
Merge pull request #42916 from cyx1231st/wip-seastar-tree-metrics2
crimson/seastore: improve metrics about onode and lba trees

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-08-25 18:50:41 -07:00
Samuel Just
e11ca7dbc0
Merge pull request #42917 from rzarzynski/wip-crimson-watch-list
crimson/osd: implement CEPH_OSD_OP_LIST_WATCHERS.

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-08-25 12:23:54 -07:00
Daniel Gryniewicz
39c0e121e8 RGW Zipper - chunk/stripe size are RadosStore only
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2021-08-25 13:02:12 -04:00
Yuri Weinstein
0c7f31b4ec
Merge pull request #42886 from sebastian-philipp/prometheus-url-missing-slash
mgr/{prometheus,restful}: Fix url generation again

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
2021-08-25 09:07:29 -07:00
Kefu Chai
d315eca400
Merge pull request #42921 from tchaikov/wip-crimson-cleanup
crimson/os: use structured binding in loop

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-08-26 00:01:39 +08:00
Kefu Chai
935a896bf6 crimson/os: use structured binding in loop
also avoid using `map[key] = val` for setting an item in map, as, if
the key does not exist in map, `map[key]` would have to create a value
using its default ctor, and then call the `operator=(bufferlist&&)` to
set it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-08-25 22:25:55 +08:00
Joseph Sawaya
674b2f0af6 mgr/rook: add better error handling to remove
This commit adds better error handling to the remove method
in the DefaultRemover by hiding stack traces from the user
and displaying meaningful error messages.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
2021-08-25 09:54:17 -04:00
Joseph Sawaya
ee9d3ffea6 mgr/rook: use label selector to fetch pods and jobs in remover
This commit adds a label_selector to the fetching of the osd pods and osd prepare
jobs in the DefaultRemover.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
2021-08-25 09:53:46 -04:00
Yaarit Hatuka
7ca39fa92b rpm, debian: move smartmontools and nvme-cli to ceph-base
We wish to be able to scrape SMART and NVMe metrics from OSD and MON
nodes. For this we require / recommend smartmontools and nvme-cli
dependencies for both the ceph-osd and ceph-mon packages.  However, the
sudoers file (which is required for invoking `smartctl` by user 'ceph')
was installed only in the ceph-osd package.  Since different packages
cannot own the same file, and because we want to be able to scrape from
every daemon, we move the dependencies and the sudoers installation to
ceph-base. For generalization, we rename:
	sudoers.d/ceph-osd-smartctl -> sudoers.d/ceph-smartctl

Fixes: https://tracker.ceph.com/issues/50657
Signed-off-by: Yaarit Hatuka <yaarit@redhat.com>
2021-08-25 13:20:23 +00:00
Amnon Hanuhov
96870e88bf
Merge pull request #42915 from AmnonHanuhov/wip-fix_omap_set_values
crimson/os: Use operator[] in CyanStore when inserting values to omap
2021-08-25 14:34:18 +03:00
Jianpeng Ma
2d337fb122 librbd/cache/pwl/ssd: fix first_valid_entry calculation in retire_entries()
Consider one control_block which cotain multi encode(WriteLogCacheEntry):
Log1: WriteLogEntry
Log2: WriteLogEntry
Log3: Non-WriteLogEntry
For this case, currently calc method is: control_block_pos + sizeof(control_block).
But in fact, it should: control_block_pos + sizeof(control_block) +
data_length(Log1 + Log2).

Wrong first_valid_entry will persist to superblock and restart to read.
This cause read wrong position and when decode(WriteLogCacheEntry) it
will report bug.

Fixes: https://tracker.ceph.com/issues/52323
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2021-08-25 13:07:52 +02:00
Radoslaw Zarzynski
12fd597cc6 crimson/osd: implement CEPH_OSD_OP_LIST_WATCHERS.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-08-25 10:36:11 +00:00
Ilya Dryomov
52afde3334
Merge pull request #42712 from idryomov/wip-malignant-noexcept
common: drop noexcept on thread entry points

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2021-08-25 11:28:46 +02:00
Alfonso Martínez
502039e0a7
Merge pull request #42090 from cypherean/feedback
mgr/dashboard: report ceph tracker bug/feature through CLI/API

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2021-08-25 10:52:39 +02:00
Juan Miguel Olmo
5c3adf7323
Merge pull request #41918 from SudhanAruna/feature_parse
behave_tests: Implemented basic behave test scenario's for cephadm, ceph shell and OSD commands
2021-08-25 10:14:46 +02:00
Yingxin Cheng
10c5890547 crimson/seastore: improve metrics about onode and lba trees
Absolute value:
* tree_depth
By transaction source:
* tree_inserts_committed
* tree_inserts_invalidated
* tree_erases_committed
* tree_erase_invalidated

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-08-25 14:56:09 +08:00
Amnon Hanuhov
65d0ec3c96 crimson/os: Use operator[] in CyanStore when inserting values to object omap
std::map::insert() doesn't update the value associated with an existing
key, therefore we should use operator[] instead

Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
2021-08-25 09:22:30 +03:00
Samuel Just
7e7ba588cc
Merge pull request #42885 from cyx1231st/wip-seastar-tree-metrics
crimson/seastore: add metrics about onode and lba trees

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-08-24 19:40:29 -07:00
Samuel Just
3d084cbe3b
Merge pull request #42907 from rzarzynski/wip-crimson-smphack
crimson/osd: implicitly append '--smp 1' when invoked without it

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-08-24 19:38:25 -07:00
Xiubo Li
5ade254c15 mds: switch mds_lock to fair mutex
The implementations of the Mutex (e.g. std::mutex in C++) do not
guarantee fairness, they do not guarantee that the lock will be
acquired by threads in the order that they called the lock().

In most case this works well, but in corner case in the Finisher
thread in mds daemon, which may call more than one complete()s
once the mdlog flushing succeeds, after the mdlog flushing is done
it will call the queued complete callbacks and the Finisher thread
could always successfully acquire the mds_lock in successive
complete callbakcs even there may have other threads already being
stuck waiting the mds_lock. This will make the other threads starve
and if they are client's requests, it will cause several or even
tens of seconds long delay for user's operations.

This will switch the mds_lock to fair mutex and it could make sure
that the all the mds_lock waiters are in FIFO order and the Finisher
thread won't hold the mds_lock that long.

At the same time, if the finisher thread has many completes needed
to run the fair mutex could guarantee that the finisher won't be
scheduled out due to fair mutex unlock() if no any other mds_lock
waiter queued.

Fixes: https://tracker.ceph.com/issues/51722
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-08-25 09:42:51 +08:00
Xiubo Li
215b12ae0a common/Timer: make SafeTimer a template
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-08-25 09:42:33 +08:00
Xiubo Li
98ace572a1 common/fair_mutex: add is_locked_by_me support
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-08-25 09:42:33 +08:00
Xiubo Li
98ed4dcb9f common: do not compile condition_variable_debug in none debug mode
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2021-08-25 09:42:14 +08:00
Radoslaw Zarzynski
172c15c154 crimson/osd: implicitly append '--smp 1' when invoked without it
This commit is basically a hack supposed to fulfil the obligation
of crimson being a drop-in replacement for the classical OSD
we already made by packaging it under `/usr/bin/ceph-osd`.
The discussion whether the interface-exactness should be continued
or not is out of scope of the commit; it's supposed just to handle
the issue unveiled by the Rook integration effort: `crimson-osd`
is unable to `--mkfs` because Seastar, if not restricted by passing
`--smp N`, considers all CPU cores available in the system when
allocating resources. This leads to the following error:

```
ERROR 2021-08-24 14:17:32,105 [shard 5] seastar - Could not setup Async I/O: Resource temporarily unavailable. The most common cause is not enough request capacity in /proc/sys/fs/aio-max-nr. Try increasing that number or reducing the amount of logical CPUs available for your application
```

This hack will need to be dropped when integrating multi-reactor
support in crimson.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-08-24 23:45:40 +00:00
Neha Ojha
13762fc03f
Merge pull request #42910 from zdover23/doc-2021-08-25-doc-dev-config-verb-agreement-typo
doc/dev/config: fix verb disagreement

Reviewed-by: Neha Ojha <nojha@redhat.com>
2021-08-24 16:27:32 -07:00
Yuri Weinstein
b1139315fe
Merge pull request #42713 from ronen-fr/wip-ronenf-explicit-config
common: removing the explicit attribute from a public copy constructor

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-08-24 16:26:43 -07:00
Zac Dover
b39679edf5 doc/dev/config: fix verb disagreement
This PR changes the following sentence:

   The other is to register an observer
   that will be called every time the
   relevant configuration values changes.

This sentence has been rewritten so that the
verb agrees with its subject, like this:

   The other is to register an observer
   that will be called every time the
   relevant configuration values change.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2021-08-25 05:27:16 +10:00
cypherean
e90ebc195e mgr/dashboard: report ceph tracker bug/feature through CLI/API
Fixes: https://tracker.ceph.com/issues/44851

Signed-off-by: Shreya Sharma <shreyasharma.ss305@gmail.com>
2021-08-24 22:37:52 +05:30
Ilya Dryomov
8a3448f6a9
Merge pull request #42806 from zdover23/wip-doc-2021-08-17-rbd-nomad-3-of-x
doc: rewrite configure ceph-csi to "conf. nomad"

Reviewed-by: Etienne Menguy <etienne.menguy@croit.io>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2021-08-24 17:41:57 +02:00
Kefu Chai
ea890d7ead
Merge pull request #42845 from tchaikov/wip-51483
common/options: validate see-also

Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
2021-08-24 23:32:39 +08:00
Zac Dover
795877cd49 doc: rewrite configure ceph-csi to "conf. nomad"
This PR rewrites the sections
     - Configure Ceph-CSI
     - Configure Nomad

in the rbd-nomad.rst Chapter of the RBD
Guide.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2021-08-24 16:55:30 +02:00
Sebastian Wagner
8c54a705e2
Merge pull request #42857 from dsavineau/cephadm_tcmalloc_ceph_daemons_only
cephadm: Set tcmalloc env var for Ceph daemons

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
2021-08-24 16:55:02 +02:00
Sebastian Wagner
626a7bf31a
Merge pull request #42833 from oleeander/cephadm_openntpd
cephadm: check for openntpd.service as time sync service

Reviewed-by: Dimitri Savineau <dsavinea@redhat.com>
Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
2021-08-24 16:54:50 +02:00
Sebastian Wagner
d2b5417420
Merge pull request #42824 from pcuzner/cephadm-add-ports
cephadm:Add listening ports to gather-facts output

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Dimitri Savineau <dsavinea@redhat.com>
2021-08-24 16:54:34 +02:00
Sebastian Wagner
c5d0e393c1
Merge pull request #42699 from sebastian-philipp/cephadm-duplicate-ips
cephadm: list-networks: Avoid duplicated IPs

Reviewed-by: Francesco Pantano <fpantano@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Sage Weil <sage@newdream.net>
2021-08-24 16:54:14 +02:00
Sebastian Wagner
d611ee9034
Merge pull request #42405 from Daniel-Pivonka/cephadm_rm_offline_host
mgr/cephadm: add ability to remove offline host

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-08-24 16:52:28 +02:00
Ilya Dryomov
b8921a0c9a
Merge pull request #42805 from zdover23/wip-doc-2021-08-17-rbd-nomad-2-of-x
doc: improve "Create a Pool" in rbd-nomad.rst

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2021-08-24 16:32:42 +02:00
Kefu Chai
a66daecbea cmake: s/Python_EXECUTABLE/Python3_EXECUTABLE/
as FindPython3.cmake only sets Python3_EXECUTABLE for us, we should
stick with Python3_EXECUTABLE instead of Python_EXECUTABLE.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-08-24 22:22:37 +08:00
Kefu Chai
6cfdd40cad common/options: validate see-also
y2c.py is like a compiler which translates .yaml to .cc and .h files,
it does not have access to all .yaml files. to validate the dangling
see-also issue, we need to do this with a "linker".

in this change, validate-options.py is introduced to check if any of
option name included by the see-also property is valid.

Fixes: https://tracker.ceph.com/issues/51483
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-08-24 22:22:37 +08:00
Zac Dover
1715989e06 doc: improve "Create a Pool" in rbd-nomad.rst
This PR improves the English in the "Create
a Pool" section of the "RBD & Nomad Integration"
chapter of the RBD Guide.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2021-08-24 16:16:24 +02:00
Kefu Chai
56bf728807
Merge pull request #42826 from tchaikov/wip-test-fair-mutex
test/common/test_fair_mutex: increase NR_ROUNDS from 256 to 512

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-08-24 22:04:28 +08:00
Kefu Chai
60811bff82
Merge pull request #42881 from wjwithagen/wjw-fix-vstart-mgr
src/vstart.sh: put modules option for MGR in the [mgr] block.

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2021-08-24 21:51:34 +08:00
Kefu Chai
75ea7222cd
Merge pull request #42882 from cyx1231st/wip-seastar-cleanup
crimson/common: minor cleanups to futures

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-08-24 21:49:42 +08:00
Ilya Dryomov
ed13301c20
Merge pull request #42802 from Rethan/fix-rbd-bench-unit
rbd: avoid overflow of ios and clarify io-size limit for bench

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2021-08-24 13:19:03 +02:00