Matt Benjamin [Wed, 5 Aug 2020 14:45:45 +0000 (10:45 -0400)]
rgwlc: fix conditional decode of legacy lc op structures
Fixes the case where an upgraded radosgw operates on an unupgraded
OSD, so likely these cases do not execute.
Fixes: https://tracker.ceph.com/issues/46838 Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 3814ff2cc4503330d7094bcdcaf7c5ea630ce5b9)
Matt Benjamin [Wed, 22 Jul 2020 17:58:00 +0000 (13:58 -0400)]
rgwlc: fix error return from backward-compat decode
Exception handling in backward-compat case returned EIO even when
the actual backward-compat decode succeeded.
Fixes: https://tracker.ceph.com/issues/46677 Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit fa3036168b67a191d7ac37d0d34409f5b3d87b5d)
Matt Benjamin [Fri, 22 May 2020 21:43:46 +0000 (17:43 -0400)]
rgwlc: add lifecycle perf counters
Historically, RGW lifecycle processing has not provided perfcounters.
A single expire counter was added in recent parallel lifecycle changes,
but granular counters for
current expiration
non-current expiration
delete-marker expiration
current transition
non-current transition
mpu aborts
are arguably much more useful, and can be summed in reports.
Fixes: https://tracker.ceph.com/issues/45667 Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 57d0bcf57d7d5774b63465ae46dafd0253afde04)
Matt Benjamin [Wed, 29 Apr 2020 12:00:55 +0000 (08:00 -0400)]
rgw: lc: restore unordered listing
With current sharding strategy, a delete marker is always coresident
with all corresponding objects, including noncurrent, so unordered
listing -is- compatible with lookahead.
The incoming version of -new- clients required to be one
higher to trigger the new result format.
Yes, this means that "radosgw-admin lc list" against an
un-upgraded OSD will display Unix epoch for lc-entry
start_time (harmless, and in general will not happen).
Matt Benjamin [Fri, 10 Apr 2020 14:47:46 +0000 (10:47 -0400)]
rgwlc: give radosgw-admin lc process more freedom to run
Makes two primary changes:
1. allows the admin lc process to re-run a bucket (but not
when a session is ACTIVE, to avoid overwriting session state)
2. to avoid confusion when rgw_lc_debug_interval is set and is small,
don't force lc process to exit early, allowing one run to clear all
expired objects during debug and test
octopus: mgr/dashboard: fix rbdmirroring dropdown menu
Fixes: https://tracker.ceph.com/issues/46566 Signed-off-by: Avan Thakkar <athakkar@redhat.com>
This seems to be the same situation as https://tracker.ceph.com/issues/44458,
but in a different part of the frontend. Since we are not backporting
ngx-bootstrap to octopus, this has to be manually fixed in octopus.
append object tail gets GC'ed otherwise as the state has a manifest similar to
atomic obj processor, but if the manifest exists and the position is correct, it
is not an overwrite and shouldn't be GC'ed
mgr/dashboard: right-align dropdown menu of column filters
When the value of a filter is too long, the text of value will run out
of the viewport. Right-aligning the menu makes the text visible.
NOTE: This change can't be backported from master because in master we had
switched the bootstrap library to ng-bootstrap and the menu is already
right-aligned in the master.
Stephan Müller [Thu, 14 May 2020 14:37:48 +0000 (16:37 +0200)]
mgr/dashboard: Updates jest to fix cache failure
Fixes: https://tracker.ceph.com/issues/45545 Signed-off-by: Stephan Müller <smueller@suse.com>
Conflicts:
src/pybind/mgr/dashboard/frontend/package-lock.json
- Changed through package change
src/pybind/mgr/dashboard/frontend/package.json
- Conflict because the jest version was even older than what the PR in
master was replacing
Stephan Müller [Thu, 7 May 2020 15:13:57 +0000 (17:13 +0200)]
mgr/dashboard: Always use fast angular unit tests
This will replace the current approach having a fast testing workaround
that didn't fully work on every test. Now using ng-bullet's optimization
works with every test, therefore there is no need to keep the old
configuration files and use the slow testing on Jenkins.
Fixes: https://tracker.ceph.com/issues/45433 Signed-off-by: Stephan Müller <smueller@suse.com>
(cherry picked from commit 46e20a5e855beb1e9ff822b0c211a3af3a928d0c)
If the first message in a map message had a crc error, then the
loop would exit with last < start, which would then cause a null
dereference in _committed_osd_maps.
Fixes: https://tracker.ceph.com/issues/46443 Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
(cherry picked from commit 99463cb523949289384a6210ea250114fbe852f4)
Dan van der Ster [Mon, 27 Jul 2020 12:23:54 +0000 (14:23 +0200)]
qa/standalone/osd: add bad-inc-map.sh
Test that the osd doesn't crash when it gets a bad incremental osdmap.
Related-to: https://tracker.ceph.com/issues/46443 Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
(cherry picked from commit b550112dba23528655ec150cf9d6d093318abb8c)
`ceph-volume lvm zap` command fails under certain conditions.
when passing `--osd-id` or `--osd-fsid` to `ceph-volume lvm zap` command
it tries to zap additionnal devices that have nothing to do with the osd
being zapped.
When calling `api.get_lvs()` in `ensure_associated_lvs()` we have to
pass the osd-id/osd-fsid information so only related devices are
returned by `get_lvs()` method
Patrick Donnelly [Fri, 24 Jul 2020 18:23:41 +0000 (11:23 -0700)]
Merge PR #36224 into octopus
* refs/pull/36224/head:
mgr/nfs: Remove NParts and Cache_Size from MDCACHE block
doc/cephfs/nfs: Update about deploying nfs-ganesha with cephadm in vstart
Reviewed-by: Sebastian Wagner <swagner@suse.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
This was needed as a temporary solution until all missing EL8 packages
are built on EPEL 8.
Because we now have all dependencies on EPEL 8 then we can remove that
repository.
Matthew Oliver [Thu, 16 Jul 2020 06:38:29 +0000 (06:38 +0000)]
cephadm: Fix ipv6 network regex to support routes with expiry
The regex I previously added didn't take into account ipv6 networks that
had an expiry, this patch updates the regex and includes an ipv6 route
version in the test.
Michael Fritch [Fri, 17 Jul 2020 15:26:52 +0000 (09:26 -0600)]
mgr/cephadm: clean-up service module type checking
mypy cast to avoid:
cephadm/module.py: note: In member "_config_fn" of class "CephadmOrchestrator":
cephadm/module.py:1797: error: Incompatible return value type (got "Optional[function]", expected "Optional[Callable[[ServiceSpec], None]]")
Fix the code by improving a condition where a zero as uid or gid leads
to an additional attempt to extract the uid/gid instead of uid/gid
simply being used correctly.
Fixes: https://tracker.ceph.com/issues/46398 Signed-off-by: Patrick Seidensal <pseidensal@suse.com>
(cherry picked from commit 3c98f1553fe3b91777ee81d887d02462132475fb)
* split into three different methods
* untangle service and port lists
This helps in making our firewall handling more dynamic.
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com> Co-authored-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
(cherry picked from commit 4f341819ec746d0a04b76e88b84b64158905e5b6)
This commit breaks one of the long sentences into
three shorter sentences, and adds a parenthetical
comment walking the reader through a series of commands,
explaining what each command does and why only the last
of the commands ends up having a lasting effect on the Ceph
environment.
python-common/drivegroups: implement option to change filter_logic
Filters are applied to disks using an AND gate by default. In some
scenarios you can only achieve the desired behavior when using an OR
gate without expanding the available filters.
This patch allows to switch between `AND` and `OR` gates.
Jason Dillaman [Tue, 30 Jun 2020 12:44:38 +0000 (08:44 -0400)]
librbd: add 'write_zeroes' public C/C++ API methods
Unlike the existing 'discard' option which is more of a hint to
attempt to release space, the new 'write_zeroes' APIs will ensure
that the entire provided extent is fully zeroed.
Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-details/osd-details.component.html
- Template structure change
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.html
- Template structure change
src/pybind/mgr/dashboard/frontend/src/app/ceph/shared/device-list/device-list.component.ts
- Optional chaining is not available in older version of TypeScript, use
`_.get` to implement it.
mgr/nfs: Remove NParts and Cache_Size from MDCACHE block
As setting them to small value affects the performance and they are not related
to metadata caching. https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/495185