Commit Graph

130014 Commits

Author SHA1 Message Date
Adam King
057089c90d
Merge pull request #45113 from adk3798/minimize-image
cephadm: still set container_image when --no-assimilate-config is provided in bootstrap

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
2022-02-25 09:58:08 -05:00
Adam King
6818b7bb33
Merge pull request #45127 from rkachach/fix_issue_54026_part1
mgr/cephadm: Adding python natsort module

Reviewed-by: Adam King <adking@redhat.com>
2022-02-25 09:56:12 -05:00
Adam King
1211be6ff1
Merge pull request #45132 from melissa-kun-li/asyncssh_error_messages
mgr/cephadm: reduce log level for asyncssh error messages

Reviewed-by: Michael Fritch <mfritch@suse.com>
2022-02-25 09:54:15 -05:00
Adam King
d3c14a17dc mgr/cephadm: extend extra_container_args to other service types
Otherwise, without this change, this can only be used for mgr,
mon and crash (daemons without their own service spec class)

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

Signed-off-by: Adam King <adking@redhat.com>
2022-02-25 08:03:51 -05:00
Aashish Sharma
ba6efa121a mgr/dashboard: fixing cephadm errors
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2022-02-25 17:42:39 +05:30
Samuel Just
8c54b697d9
Merge pull request #45041 from cyx1231st/wip-crimson-cleanup-epm-segment-writer
crimson/os/seastore: introduce SegmentAllocator for Journal and ExtentPlacementManager

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-02-24 14:23:12 -08:00
Casey Bodley
c209b50ec5
Merge pull request #45109 from cbodley/wip-rgw-dbstore-strings
rgw/dbstore: use string_view for string constants

Reviewed-by: Soumya Koduri <skoduri@redhat.com>
2022-02-24 13:57:31 -05:00
Sunny Kumar
05f2cfd9b5 mgr/rbd_support: cast pool_id from int to str when collecting LevelSpec
While collecting LevelSpec using class method from_name make sure to cast
pool_id from int to string. This is necessary to match the internal
representation of LevelSpec where pool_id is maintained as str.

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

Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
2022-02-24 17:39:17 +00:00
Guillaume Abrioux
4804a74619
Merge pull request #45126 from guits/fix-bug-cv-bz2056719
ceph-volume: abort when passed devices have partitions
2022-02-24 17:25:25 +01:00
Ronen Friedman
fe3ec8be7b osd/scrub: fix some scrubber-backend formatting
no code changes.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2022-02-24 14:26:37 +00:00
Ronen Friedman
43c8d8434c osd/scrub: cleanup scrubber-be's usage of the size-of-disk service
Limit the amount of scrubber code that directly calls the
PG-Backend services - in this case, the logical-size to
on-disk-size translation.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2022-02-24 14:26:37 +00:00
Ronen Friedman
aabeaacd77 osd/scrub: clean-up scrubber-be interfaces
Esp - the shallow/deep-error counters.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2022-02-24 14:26:37 +00:00
Ronen Friedman
397992439f osd/scrub: make the scrubber-be the sole owner of the authoritative set
simplifying the interfaces used by the scrubber backend.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2022-02-24 14:26:37 +00:00
Ronen Friedman
2635929d13 osd/scrub: remove I/O (store) direct access from the Scrubber Backend
Target: improving Scrubber BE testability by reducing the number and
complexity of the external APIs it uses.

(note - first step of many)

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2022-02-24 14:26:37 +00:00
Yingxin Cheng
5327997032 crimson/os/seastore/epm: integrate SegmentAllocator with Writer
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2022-02-24 20:55:45 +08:00
Yingxin Cheng
b0db4be190 crimson/os/seastore: introduce SegmentAllocator and integrate with Journal
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2022-02-24 20:55:37 +08:00
Yingxin Cheng
a1e5490758 crimson/os/seastore/journal: cleanup, move commit_to to RecordSubmitter
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2022-02-24 20:43:15 +08:00
Yingxin Cheng
d2e3bb6f7a crimson/os/seastore/epm: replace condition_variable by a shared_promise
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2022-02-24 20:39:39 +08:00
Yingxin Cheng
7ebf3590de crimson/os/seastore/epm: simplify gating writes for Writer
Dropped open_segment_wrapper_t.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2022-02-24 20:24:26 +08:00
Yingxin Cheng
65a294058f crimson/os/seastore/segment_cleaner: drop unnecessary future from get_segment()
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2022-02-24 20:24:26 +08:00
Dan van der Ster
29545b617b osd: require osd_pg_max_concurrent_snap_trims > 0
If osd_pg_max_concurrent_snap_trims is zero, we mistakenly clear
the snaptrim queue. Require it to be > 0.

Fixes: https://tracker.ceph.com/issues/54396
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
2022-02-24 09:42:00 +01:00
Sridhar Seshasayee
0853e6b2c9
Merge pull request #45121 from yaarith/fix-wear-level-empty-page
mgr/devicehealth: skip null pages when extracting wear level

Reviewed-by: Laura  Flores <lflores@redhat.com>
2022-02-24 13:24:08 +05:30
Sridhar Seshasayee
db045e005f
Merge pull request #45118 from sseshasa/wip-fix-osd-bench-fill-non-zeros
osd: Write non-zero data as part of osd benchmark test.

Reviewed-by: Laura  Flores <lflores@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2022-02-24 13:23:40 +05:30
Samuel Just
38843c630f
Merge pull request #45010 from cyx1231st/wip-seastore-types-cleanup
crimson/os/seastore/seastore_types: cleanups

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-02-23 20:28:24 -08:00
Sungmin Lee
66ad91eb1e test: fix TierFlushDuringFlush to wait until dedup_tier is set on base pool
When start_dedup() is called while the base pool is not set the dedup_tier,
it is not possible to know the target pool of the chunk object.

1. User set the dedup_tier on a base pool by mon_command().
2. User issues tier_flush on the object which has a manifest (base pool)
  before the dedup_tier is applied on the base pool.
3. OSD calls start_dedup() to flush the chunk objects to chunk pool.
4. OSD calls get_dedup_tier() to get the chunk pool of the base pool,
  but it is not possible to know the chunk pool.
5. get_dedup_tier() returns 0 because it is not applied on the base pool yet.
6. This makes refcount_manifest() lost it's way to chunk pool.

To prevent this issue, start_dedup() has to be called after dedup_tier is set
on the base pool. To do so, this commit prohibits getting chunk pool id if
dedup_tier is not set.

Fixes: http://tracker.ceph.com/issues/53855

Signed-off-by: Sungmin Lee <sung_min.lee@samsung.com>
2022-02-24 09:56:29 +09:00
John Mulligan
b5b3e0bcb5 doc/mgr/nfs: document that nfs exports related mgr call requirements
A recent change in the mgr/nfs module should enable the functioning
of export management commands/API calls as long as the rados namespaces
and objects have been already established. Document this fact, noting
that now only the `ceph nfs cluster ...` calls *require* an
orchestration module.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-02-23 16:33:48 -05:00
John Mulligan
8c711afc4a mgr/nfs: support managing exports without orchestration enabled
This change allows the `ceph nfs export ...` commands to function
without the entire mgr/nfs subsystem requiring orchestration to be
enabled.  When there's no orchestration available, the code falls back
to examining the namespaces in the ".nfs" rados pool to determine what
cluster_id values are valid.

This change does not add support for creating the rados objects and
namespace needed to manage a nfs cluster. As discussed with the
orchestration group on 2022-01-22, rook does not need the mgr module to
establish the namespace. So, for now, we'll defer the work needed to
create the namespace/objects when orchestration is disabled.

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

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-02-23 16:33:48 -05:00
John Mulligan
56323a2625 mgr/nfs: fix typo in error message
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-02-23 16:27:24 -05:00
John Mulligan
ffa95fbc79 mgr/nfs: add unit test for normalize_path
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-02-23 16:27:24 -05:00
John Mulligan
f91dd1bf7b mgr/nfs: change method format_path to function normalize_path
This function was not using self and thus has no need to be a method.
While we're at it, rename it to normalize_path because that's what
it is doing.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-02-23 16:27:24 -05:00
John Mulligan
8826614442 mgr/nfs: clean up rados object naming code
The naming of rados objects used to store the nfs config was spread
all over the code, including inline f-strings, not-static methods,
etc.
This change unifies the naming by putting constant string prefixes
and name generating functions into the utils.py file.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-02-23 16:27:24 -05:00
John Mulligan
c51a6755b5 mgr/nfs: make _check_rados_notify a function
This was previously a staticmethod. This static method was only used by
NFSRados object. Staticmethods are nearly always better implemented as
functions, which is done so here.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-02-23 16:27:23 -05:00
John Mulligan
d94b63830d mgr/nfs: limit dependency of NFSRados object
Previously, the NFSRados object accepted the "Module" as the
first argument but only used the rados attribute (type rados.Rados).
It's better to limit the scope of types when reasonably possible
so we can see what the true dependencies are. So we restrict
NFSRados to accepting a rados.Rados as the argument.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-02-23 16:27:23 -05:00
Adam King
59d004cb90 cephadm: still set container_image when --no-assimilate-config is provided
Fixes: https://tracker.ceph.com/issues/54141

Signed-off-by: Adam King <adking@redhat.com>
2022-02-23 16:16:44 -05:00
Yuri Weinstein
b0d6bed71a
Merge pull request #44911 from Matan-B/wip-matanb-pool-name
mon/OSDMonitor: Restrict pool names beggining with a dot

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2022-02-23 10:22:49 -08:00
Yuri Weinstein
69e3bca571
Merge pull request #44321 from Alexponomarev7/fix-static-librados-build
cmake: add ceph-common DENABLE_SHARED=OFF support

Reviewed-by: Kefu Chai <kchai@redhat.com>
2022-02-23 10:22:17 -08:00
Melissa Li
95d5db0f42 mgr/cephadm: reduce log level for asyncssh error messages
Fixes: https://tracker.ceph.com/issues/54132
Signed-off-by: Melissa Li <melissali@redhat.com>
2022-02-23 11:57:45 -05:00
Adam King
774c1a67bb
Merge pull request #45023 from rkachach/fix_issue_54198
mgr/cephadm: Show an error when invalid format

Reviewed-by: Adam King <adking@redhat.com>
2022-02-23 09:05:38 -05:00
Adam King
5e8c4dc186
Merge pull request #44928 from rkachach/fix_issue_54184
mgr/cephadm: validating service_id for MDS

Reviewed-by: Adam King <adking@redhat.com>
2022-02-23 09:02:16 -05:00
Adam King
9b6fe23f69
Merge pull request #44896 from rkachach/fix_issue_53540
mgr/cephadm: Adding AGE field to device ls cmd

Reviewed-by: Adam King <adking@redhat.com>
2022-02-23 08:58:58 -05:00
Ernesto Puerta
02285666d5
Merge pull request #45119 from rhcs-dashboard/fix-dashboard_frontend_vulnerabilities-master
mgr/dashboard: fix front-end vulnerabilities

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2022-02-23 13:40:24 +01:00
Guillaume Abrioux
75c91a8c6f ceph-volume: abort when passed devices have partitions
ceph-volume doesn't prevent from using db and/or wal devices
with existing partitions on them.
This can lead to a data loss situation.

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

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2022-02-23 12:02:09 +01:00
Ilya Dryomov
8488ea525e
Merge pull request #45062 from cbodley/wip-54303
librbd: avoid get_callback_adapter() for tcp_stream::async_connect()

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2022-02-23 11:47:20 +01:00
Ilya Dryomov
24b7bdc759
Merge pull request #45031 from cbodley/wip-54279
common: replace BitVector::NoInitAllocator with wrapper struct

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2022-02-23 11:45:56 +01:00
Ilya Dryomov
20c96256bb
Merge pull request #45086 from trociny/wip-54258
rbd-mirror: make mirror properly detect pool replayer needs restart

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2022-02-23 11:45:02 +01:00
Ilya Dryomov
b09cfa853a
Merge pull request #45106 from idryomov/wip-image-replayer-stop
rbd-mirror: synchronize with in-flight stop in ImageReplayer::stop()

Reviewed-by: Mykola Golub <mgolub@suse.com>
2022-02-23 11:42:59 +01:00
Redouane Kachach
7e646d9958
mgr/cephadm: Adding python natsort module
Needed by: https://tracker.ceph.com/issues/54026

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2022-02-23 11:39:40 +01:00
Ernesto Puerta
4fb3ee50b9
mgr/dashboard: fix front-end vulnerabilities
Fixes: https://tracker.ceph.com/issues/54367

Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
2022-02-22 20:34:53 +01:00
Yaarit Hatuka
2864ac30d4 mgr/devicehealth: skip null pages when extracting wear level
Some devices have null pages in their ata_device_statistics struct; skip
those pages in order to avoid an AttributeError when extracting device's
wear level.

Fixes: https://tracker.ceph.com/issues/51554
Signed-off-by: Yaarit Hatuka <yaarit@redhat.com>
2022-02-22 19:22:09 +00:00
Ilya Dryomov
76ad859658
Merge pull request #45117 from idryomov/wip-rbd-trash-purge-error-typo
mgr/rbd_support: fix a typo in the error message

Reviewed-by: Sunny Kumar <sunkumar@redhat.com>
2022-02-22 20:10:05 +01:00