]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
12 days agoceph.spec.in: add new --with pypkg to be passed on to cmake 68401/head
John Mulligan [Thu, 16 Apr 2026 17:47:04 +0000 (13:47 -0400)]
ceph.spec.in: add new --with pypkg to be passed on to cmake

Add a new --with pypkg option that passes WITH_PYPKG to cmake.
This allows building with the new (experimental) python packaging
support. If this proves useful a future change can consider enabling
by default in some conditions.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
12 days agopython-common: update CMakeLists.txt to optionally use new packaging
John Mulligan [Mon, 13 Apr 2026 21:24:39 +0000 (17:24 -0400)]
python-common: update CMakeLists.txt to optionally use new packaging

Add support for invoking the new pep517 based packaging mode added
in a previous commit. Because this approach will not work on older
distros and there seems to be spotty support for the new packging
form on debian/ubuntu (when nested within a additional layer like
CMake) I am choosing not to enable the new stuff by default.

View with `git diff -w`

Signed-off-by: John Mulligan <jmulligan@redhat.com>
12 days agosrc: add a new cmake flag WITH_PYPKG
John Mulligan [Wed, 15 Apr 2026 18:09:28 +0000 (14:09 -0400)]
src: add a new cmake flag WITH_PYPKG

This flag will allow builds to opt-in to using the new python packaging
support in subtrees in ceph that add support for it.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
12 days agopython-common: add a pyproject.toml file
John Mulligan [Mon, 13 Apr 2026 21:24:46 +0000 (17:24 -0400)]
python-common: add a pyproject.toml file

In order to support the current python packaging standards we need
to have a pyproject.toml [1] file. This file defines the project's
metadata and build tool.

For continuity, I have left setuptools in place as the build backend
so the existing steup.py is still in play. I also experimented with
flit as a back-end. Flit seemed to work OK but I was a bit unsure
how distro support for it would be when we started to roll out this
option. Thus, to be safe I decided to stay with setuptools for now.

[1] https://packaging.python.org/en/latest/guides/writing-pyproject-toml/

See Also:
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
https://flit.pypa.io/en/stable/pyproject_toml.html

Signed-off-by: John Mulligan <jmulligan@redhat.com>
12 days agocmake/modules: add PythonPackage.cmake
John Mulligan [Mon, 13 Apr 2026 21:24:24 +0000 (17:24 -0400)]
cmake/modules: add PythonPackage.cmake

Time is marching on and the state of the art with python packaging has
not stood still. In Python 3.12, distutils has been removed after being
deprecated for a couple of versions. According to the Python Packaging
User Guide [1]: "However, `python setup.py` and the use of `setup.py` as a
command line tool are deprecated."

Currently, ceph provides a decent sized and growing library of python
code in `src/python-common/ceph`. It currently relies on `setup.py` and
the deprecated `python setup.py install` command. This change aims to be
the first step in moving toward a more contemporary approach so that we
don't get caught late when the older approaches really stop working.

Because ceph's primary diver of "build stuff" is CMake, there was an
existing `cmake/modules/Distutils.cmake` that invokes a `python setup.py
install` command. Rather than risk breaking older distros we add a new
`cmake/modules/PythonPackage.cmake` file that uses the PEP 517/518
[2][3] style

of packaging. I could not find some existing CMake support for this
so unfortunately I had to write this.

The approach taken is loosely based on what the rpm build process does.
It invokes pip's wheel subcommand to build a wheel (during the build
phase) and then uses pip to install the wheel to install the content
to the system.

A future commit will add conditional support for using this approach
in src/python-common.

[1] https://packaging.python.org/en/latest/discussions/setup-py-deprecated/
[2] https://peps.python.org/pep-0517/
[3] https://peps.python.org/pep-0518/

Signed-off-by: John Mulligan <jmulligan@redhat.com>
12 days agoMerge pull request #68404 from ifed01/wip-fix-isal-build
Kefu Chai [Wed, 6 May 2026 12:47:30 +0000 (20:47 +0800)]
Merge pull request #68404 from ifed01/wip-fix-isal-build

cmake/isal-l: explicitly configure libdir to avoid wrong libisal.a

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
13 days agoMerge pull request #67870 from aainscow/fix_75211
Alex Ainscow [Wed, 6 May 2026 08:01:50 +0000 (09:01 +0100)]
Merge pull request #67870 from aainscow/fix_75211

osd: PGLog Attach correct version to missing list when ignoring log entries

Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
13 days agoMerge pull request #68707 from ronen-fr/wip-rf-smapper-addoid
Ronen Friedman [Wed, 6 May 2026 07:18:24 +0000 (10:18 +0300)]
Merge pull request #68707 from ronen-fr/wip-rf-smapper-addoid

osd/SnapMapper::update_snaps() to handle a missing OBJ_ record

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
13 days agoMerge pull request #66373 from mheler/target_path_by_bucket
anrao19 [Wed, 6 May 2026 06:14:40 +0000 (11:44 +0530)]
Merge pull request #66373 from mheler/target_path_by_bucket

rgw/cloud-transition: add per-bucket target options

13 days agoMerge pull request #68629 from MaxKellermann/osdc_includes2
Kefu Chai [Wed, 6 May 2026 05:44:54 +0000 (13:44 +0800)]
Merge pull request #68629 from MaxKellermann/osdc_includes2

osdc: add missing include

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
13 days agoMerge pull request #68677 from ronen-fr/wip-rf-seastorerst
Ronen Friedman [Tue, 5 May 2026 16:26:01 +0000 (19:26 +0300)]
Merge pull request #68677 from ronen-fr/wip-rf-seastorerst

crimson/doc/seastore: document device super-block structure

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
13 days agoMerge pull request #67531 from tchaikov/wip-encoding-with-asan
Kefu Chai [Tue, 5 May 2026 13:20:09 +0000 (21:20 +0800)]
Merge pull request #67531 from tchaikov/wip-encoding-with-asan

test/encoding: use setarch -R for ASAN builds in readable.sh

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
13 days agoMerge pull request #68259 from anoopcs9/update-samba-container-tags
John Mulligan [Tue, 5 May 2026 13:18:09 +0000 (09:18 -0400)]
Merge pull request #68259 from anoopcs9/update-samba-container-tags

cephadm/images: Update tags for samba and smbmetrics containers

Reviewed-by: John Mulligan <jmulligan@redhat.com>
13 days agoMerge pull request #68749 from gbregman/main
Gil Bregman [Tue, 5 May 2026 12:57:52 +0000 (15:57 +0300)]
Merge pull request #68749 from gbregman/main

mgr/dashboard: Allow empty port value when adding a listener in NVMEoF CLI

13 days agoMerge pull request #68615 from tchaikov/wip-lasan-supp
Kefu Chai [Tue, 5 May 2026 12:17:21 +0000 (20:17 +0800)]
Merge pull request #68615 from tchaikov/wip-lasan-supp

qa/lsan.supp: suppress CPython 3.10 interpreter shutdown leaks

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoosd/SnapMapper::update_snaps() to handle a missing OBJ_ record 68707/head
Ronen Friedman [Thu, 30 Apr 2026 16:46:58 +0000 (16:46 +0000)]
osd/SnapMapper::update_snaps() to handle a missing OBJ_ record

by falling back to add_oid() instead of silently creating an
inconsistent state (OBJ_ without matching SNA_ entries). This
was observed on replicas that had recently recovered objects:
the snap mapper entries created during recovery were not visible
to a subsequent snap-trim repop's update_snaps() call, leaving
the clone with no snap mapper entries. Scrub would then detect
and report the inconsistency as an error.

Promote snap mapper remove_oid/clear_snaps logging to dout(10)
and add apply_op_stats tracing to aid diagnosis of any remaining
stat or snap mapper drift.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 weeks agomgr/dashboard: Allow empty port value when adding a listener in NVMEoF CLI 68749/head
Gil Bregman [Tue, 5 May 2026 08:53:25 +0000 (11:53 +0300)]
mgr/dashboard: Allow empty port value when adding a listener in NVMEoF CLI
Fixes: https://tracker.ceph.com/issues/76410
Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
2 weeks agoMerge pull request #59650 from xsuchy/patch-2
Kefu Chai [Tue, 5 May 2026 06:44:51 +0000 (14:44 +0800)]
Merge pull request #59650 from xsuchy/patch-2

rpm: Migrate license in ceph.spec to SPDX

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agoMerge pull request #68473 from ljflores/wip-tracker-73147
SrinivasaBharathKanta [Tue, 5 May 2026 04:15:18 +0000 (09:45 +0530)]
Merge pull request #68473 from ljflores/wip-tracker-73147

qa/suites/rados/thrash-old-clients: ignore "Reduced data availability" warning

2 weeks agoMerge pull request #68241 from ljflores/wip-tracker-75415
SrinivasaBharathKanta [Tue, 5 May 2026 04:14:25 +0000 (09:44 +0530)]
Merge pull request #68241 from ljflores/wip-tracker-75415

qa/suites/upgrade: ignore temporary OSD_HOST_DOWN health warning

2 weeks agoMerge pull request #68626 from shraddhaag/wip-shraddhaag-btree-node-courotuine
Shraddha Agrawal [Mon, 4 May 2026 18:27:57 +0000 (23:57 +0530)]
Merge pull request #68626 from shraddhaag/wip-shraddhaag-btree-node-courotuine

seastore/omap_manager/btree: change node insert/del funcs to coroutines

2 weeks agoMerge pull request #68625 from shraddhaag/wip-shraddhaag-btree-manager-coroutine
Shraddha Agrawal [Mon, 4 May 2026 18:27:44 +0000 (23:57 +0530)]
Merge pull request #68625 from shraddhaag/wip-shraddhaag-btree-manager-coroutine

seastore/omap_manager/btree: change omap manager funcs to coroutines

2 weeks agodoc/crimson/seastore: document device super-block structure 68677/head
Ronen Friedman [Thu, 30 Apr 2026 06:08:05 +0000 (06:08 +0000)]
doc/crimson/seastore: document device super-block structure

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 weeks agoMerge PR #68211 into main
Venky Shankar [Mon, 4 May 2026 15:18:05 +0000 (20:48 +0530)]
Merge PR #68211 into main

* refs/pull/68211/head:
doc/cephfs/fs-volumes.rst: Correct volume creation with pre-existing pools

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Ville Ojamo <git2233+ceph@ojamo.eu>
2 weeks agoMerge PR #64561 into main
Patrick Donnelly [Mon, 4 May 2026 15:16:33 +0000 (08:16 -0700)]
Merge PR #64561 into main

* refs/pull/64561/head:
ceph-exporter: fix systemd unit

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agoMerge pull request #68694 from rhcs-dashboard/bump-lodash
Afreen Misbah [Mon, 4 May 2026 14:23:31 +0000 (19:53 +0530)]
Merge pull request #68694 from rhcs-dashboard/bump-lodash

mgr/dashboard: Bump lodash

Reviewed-by: Naman Munet <nmunet@redhat.com>
2 weeks agoMerge pull request #68533 from xxhdx1985126/wip-76196
Matan Breizman [Mon, 4 May 2026 10:41:48 +0000 (13:41 +0300)]
Merge pull request #68533 from xxhdx1985126/wip-76196

crimson/osd/pg: skip replicas that's still missing the object being

Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Mohit Agrawal <moagrawa@redhat.com>
2 weeks agoMerge pull request #67787 from SHASHI9705/fix-notification-footer-alignment
Afreen Misbah [Mon, 4 May 2026 08:39:17 +0000 (14:09 +0530)]
Merge pull request #67787 from SHASHI9705/fix-notification-footer-alignment

dashboard: align notifications footer to bottom when body has fewer items

Reviewed-by: Afreen Misbah <afreen@ibm.com>
2 weeks agoseastore/omap_manager/btree: change omap manager funcs to coroutines 68625/head
Shraddha Agrawal [Mon, 27 Apr 2026 06:31:17 +0000 (12:01 +0530)]
seastore/omap_manager/btree: change omap manager funcs to coroutines

This commit changes funcs in BTree OMap manager to coroutines. Apart
from cleaner code that's easier to follow this is done to fix ASan
heap-use-after-free asserts.

Example QA job with the error: https://pulpito.ceph.com/shraddhaag-2026-04-20_07:04:25-crimson-rados-main-distro-debug-trial/164374/
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
2 weeks agoMerge pull request #68479 from Naveenaidu/wip-naveen-revert-67299-and-68111
Naveen Naidu [Mon, 4 May 2026 06:13:44 +0000 (11:43 +0530)]
Merge pull request #68479 from Naveenaidu/wip-naveen-revert-67299-and-68111

Revert common/version: strip trailing newline from vendor release file

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 weeks agoseastore/omap_manager/btree: change node insert/del funcs to coroutines 68626/head
Shraddha Agrawal [Mon, 27 Apr 2026 07:33:14 +0000 (13:03 +0530)]
seastore/omap_manager/btree: change node insert/del funcs to coroutines

This commit changes OMapLeafNode and OMapInnerNode funcs to coroutines
to improve readability and prevent any ASan heap-use-after-free asserts.
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
2 weeks agoMerge pull request #66695 from bluikko/wip-doc-rados-ops-health-checks-fixes4
bluikko [Mon, 4 May 2026 05:33:10 +0000 (12:33 +0700)]
Merge pull request #66695 from bluikko/wip-doc-rados-ops-health-checks-fixes4

doc/rados: Fix minor issues, improvements in health-checks.rst (4 of x)

2 weeks agoMerge PR #67978 into main
Patrick Donnelly [Sat, 2 May 2026 23:21:55 +0000 (16:21 -0700)]
Merge PR #67978 into main

* refs/pull/67978/head:
rgw/kafka: honor verify-ssl and separate cached connections

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
2 weeks agoMerge PR #67536 into main
Patrick Donnelly [Sat, 2 May 2026 23:21:19 +0000 (16:21 -0700)]
Merge PR #67536 into main

* refs/pull/67536/head:
qa/multisite: enable the multisite test for oidc.
rgw/oidc: plumb RGWObjVersionTracker through load/store for race detection
rgw/oidc rados: add rgwrados::oidcs namespace abstraction for cls_user for accounts.
rgw/rest-oidc: Forward all oidc mutation request to master zone.
rgw/oidc: add rgwrados::oidc interface to support multisite.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
2 weeks agoMerge pull request #68701 from shraddhaag/wip-shraddhaag-fix-omap-log
Shraddha Agrawal [Sat, 2 May 2026 11:52:10 +0000 (17:22 +0530)]
Merge pull request #68701 from shraddhaag/wip-shraddhaag-fix-omap-log

sestore/omap_manager/btree: prevent heap buffer overflow in log

2 weeks agoMerge pull request #67484 from ronen-fr/wip-rf-btreeunused
Ronen Friedman [Sat, 2 May 2026 09:53:16 +0000 (12:53 +0300)]
Merge pull request #67484 from ronen-fr/wip-rf-btreeunused

crimson/seastore: fixing some 'unused' warnings

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2 weeks agoMerge pull request #68284 from aainscow/rmissing_second_fix
Alex Ainscow [Fri, 1 May 2026 16:11:07 +0000 (17:11 +0100)]
Merge pull request #68284 from aainscow/rmissing_second_fix

    osd: Allow multiple objects with same version in missing list.

Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Reviewed-by: Josh Durgin <jdurgin@ibm.com>
2 weeks agoMerge pull request #67974 from aainscow/twiddle_twiddle
Alex Ainscow [Fri, 1 May 2026 16:03:58 +0000 (17:03 +0100)]
Merge pull request #67974 from aainscow/twiddle_twiddle

osd: Twiddle should create a full sized vector for optimized EC

Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 weeks agoMerge pull request #68474 from ronen-fr/wip-rf-smallsegs-crimson
Ronen Friedman [Fri, 1 May 2026 11:51:20 +0000 (14:51 +0300)]
Merge pull request #68474 from ronen-fr/wip-rf-smallsegs-crimson

crimson/os,tools,qa: fix crimson-objectstore-tool tests

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2 weeks agoMerge pull request #68697 from aainscow/wip-update-to-test-harness
Alex Ainscow [Fri, 1 May 2026 07:16:30 +0000 (08:16 +0100)]
Merge pull request #68697 from aainscow/wip-update-to-test-harness

osd/test: Add EC peering test infrastructure and recovery test cases

Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
2 weeks agoMerge pull request #68437 from aainscow/ceph_test_rados_docs
Alex Ainscow [Fri, 1 May 2026 07:09:57 +0000 (08:09 +0100)]
Merge pull request #68437 from aainscow/ceph_test_rados_docs

Add documentation for ceph_test_rados

Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Reviewed-by: Anthony D'Atri
2 weeks agoqa/rgw: add teuthology support for target_by_bucket cloud transition 66373/head
Matthew N. Heler [Wed, 17 Dec 2025 02:53:20 +0000 (20:53 -0600)]
qa/rgw: add teuthology support for target_by_bucket cloud transition

Add cloud_target_by_bucket and cloud_target_by_bucket_prefix options
to rgw_cloudtier.py and s3tests.py. Create new test suite to run
target_by_bucket-specific s3-tests.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
2 weeks agotest: Add help to ceph_test_rados 68437/head
Alex Ainscow [Fri, 17 Apr 2026 07:52:38 +0000 (08:52 +0100)]
test: Add help to ceph_test_rados

Basic help text to compliment the full docs in the
previous commit.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agodocs: Add documentation for ceph_test_rados
Alex Ainscow [Fri, 17 Apr 2026 07:50:27 +0000 (08:50 +0100)]
docs: Add documentation for ceph_test_rados

No documentation existed for ceph_test_rados.

This commit adds that documentation, as generated by Claude Code.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoMerge PR #68665 into main
Patrick Donnelly [Thu, 30 Apr 2026 18:33:28 +0000 (11:33 -0700)]
Merge PR #68665 into main

* refs/pull/68665/head:
doc/start/os-recommendations: update for Umbrella and future releases

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
2 weeks agosestore/omap_manager/btree: prevent heap buffer overflow in log 68701/head
Shraddha Agrawal [Wed, 29 Apr 2026 15:59:07 +0000 (21:29 +0530)]
sestore/omap_manager/btree: prevent heap buffer overflow in log

This commit fixes a heap overflow in omap_btree_node_impl when
logging the full bufferlist. This issue was already tracked in
https://tracker.ceph.com/issues/71524. To prevent this from happening,
we log the length of the bufferlist instead of the full log.

Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
2 weeks agoMerge PR #68640 into main
Patrick Donnelly [Thu, 30 Apr 2026 17:26:05 +0000 (10:26 -0700)]
Merge PR #68640 into main

* refs/pull/68640/head:
script/ptl-tool: source githumap from main branch

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agoMerge pull request #68007 from cbodley/wip-75722
Casey Bodley [Thu, 30 Apr 2026 16:54:10 +0000 (12:54 -0400)]
Merge pull request #68007 from cbodley/wip-75722

rgw/iam: User/Group/Role apis map ECANCELED to ERR_CONCURRENT_MODIFICATION

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
2 weeks agorgw/cloud-transition: yield in cloud_tier_bucket_exists HEAD
Matthew N. Heler [Mon, 20 Apr 2026 21:25:47 +0000 (16:25 -0500)]
rgw/cloud-transition: yield in cloud_tier_bucket_exists HEAD

The HEAD request used null_yield, so every attempt (including the
retries added by retry_on_busy) blocked the LC worker thread for
the full HTTP timeout instead of yielding.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
2 weeks agorgw/cloud-transition: check bucket existence before create
Matthew N. Heler [Fri, 5 Dec 2025 16:52:55 +0000 (10:52 -0600)]
rgw/cloud-transition: check bucket existence before create

Add HEAD request to check if target bucket exists before attempting
to create it. This avoids unnecessary PUT requests when the bucket
already exists on the remote endpoint.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
2 weeks agorgw/cloud-transition: add per-bucket target options
Matthew N. Heler [Sat, 22 Nov 2025 14:12:56 +0000 (08:12 -0600)]
rgw/cloud-transition: add per-bucket target options

Add per-bucket cloud tier targeting via new options target_by_bucket
and target_by_bucket_prefix, and use them in transition/restore to
derive the destination bucket name

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
2 weeks agoosd: PGLog Attach correct version to missing list when ignoring log entries 67870/head
Alex Ainscow [Wed, 18 Mar 2026 09:22:26 +0000 (09:22 +0000)]
osd: PGLog Attach correct version to missing list when ignoring log entries

A previous fix for PR 66698 fixed an issue where log entries associated with
partial writes were being processed incorrectly (see that PR and associated
tracker for details).  The fix was to ignore log entries that should not have
been present on the non-primary shard.

The problem with that approach is that in a more complex scenario, where the
log contained a partial write, followed by a full write AND the shard is
backfilling, then the missing list was being given the version prior to the
full write, rather than prior to the clone.

Our fix here corrects how the missing list version is calculated.

See the associated tracker for instructions on how to recreate

Fixes: https://tracker.ceph.com/issues/75211
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agoosd/test: Add EC peering test infrastructure and recovery test cases 68697/head
Alex Ainscow [Mon, 27 Apr 2026 13:24:45 +0000 (14:24 +0100)]
osd/test: Add EC peering test infrastructure and recovery test cases

This commit enhances the EC peering test framework and adds test cases
for erasure-coded pool recovery scenarios:

NOTE: Many of the tests cases are disabled as they recreate certain
problems. Later commits will enable these tests and fix the production
issues, but under different PRs.

Test Infrastructure Improvements:
- Add MockStore wrapper with read error injection capabilities for testing
  error handling in EC recovery
- Enhance ECPeeringTestFixture with recovery callback verification
- Add support for pg_upmap to better simulate OSD placement
- Implement write_attribute() for testing partial vs full stripe writes
- Add read_shard_object_info() to verify on-disk version consistency
- Improve logging with missing object stats (m=, u=, mbc=)
- Add support for doing object recovery in Fast EC.
- Add set_config() helper for runtime configuration changes
- Preserve xinfo features when marking OSDs up/down
- Fix pg_temp handling for EC pools with optimizations

Mock Object Enhancements:
- Update MockPGBackendListener with recovery callback tracking
- Add on_local_recover, on_peer_recover, on_global_recover tracking
- Implement proper stats publishing (pg_stats_publish)
- Add is_missing_object() implementation
- Enhance should_send_op() with async_recovery_target logic
- Add apply_stats() to update PeeringState statistics

Test Cases Added:
- ECRecoveryTest: Verifies recovery with missing objects after OSD failure
- ECSequentialOSDFailoverTest: Tests sequential OSD failure/recovery cycles
- MultiObjectRecoveryReadCrash: Reproduces bug #75432 (multi-object reads)
- RollbackVersionMismatch: Reproduces bug #76213 (version mismatch)
- RollbackAfterMixedBlockedWrites: Reproduces bug #75211 (rollback issues)

These tests validate EC recovery mechanisms including:
- Object version tracking across shards
- Recovery callback invocation (local, peer, global)
- Handling of read errors during recovery
- Rollback behavior after blocked writes
- Multi-object recovery with partial failures

Assisted-by: IBM Bob, using Claude Sonnet
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
2 weeks agodoc/start/os-recommendations: update for Umbrella and future releases 68665/head
Patrick Donnelly [Tue, 28 Apr 2026 22:25:44 +0000 (15:25 -0700)]
doc/start/os-recommendations: update for Umbrella and future releases

Overhaul the OS recommendations documentation to reflect deployment
practices and map out the support matrices for upcoming releases through
Ceph X (24.x).

Key changes include:

* Emphasized container-based deployments: Added a new section strongly
  recommending containerized deployments via `cephadm` over legacy
  package-based installations to simplify upgrades and avoid host-level
  dependency conflicts.
* Expanded support tables: Updated the Platforms and Container Hosts
  tables to include Umbrella (21.x), Vampire (22.x), W (23.x), and
  X (24.x). Removed EOL releases like Reef.
* Added EOL visibility: Included End-of-Life dates for Linux
  distributions and anticipated EOL dates for Ceph releases to help
  administrators plan lifecycle events.
* Updated OS targets: Added support tracking for Ubuntu 24.04 (Noble),
  Ubuntu 26.04, Ubuntu 28.04, Rocky Linux 10, and Rocky Linux 11.
* Addressed CentOS transition: Added a warning that CentOS 10+ will no
  longer be built or tested by upstream. Documented that Rocky Linux 10
  is the new default container base image for Umbrella, while clarifying
  that the bare-metal host OS can remain any supported distribution.
* Added horizontal upgrade guidance: Introduced a new section outlining
  safe "horizontal" bare-metal OS upgrade paths (e.g., CentOS 9 to
  Rocky 10, Ubuntu 22.04 to 24.04) so users can safely migrate their
  nodes outside of Ceph version upgrade windows.

AI-Assisted: Gemini Pro, through numerous prompts
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2 weeks agoMerge pull request #68453 from mheler/wip-coroutine-cloud-transition
J. Eric Ivancich [Thu, 30 Apr 2026 14:17:00 +0000 (10:17 -0400)]
Merge pull request #68453 from mheler/wip-coroutine-cloud-transition

rgw/lc: add coroutine support for cloud-transition and cloud-restore

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoMerge pull request #67856 from cbodley/wip-75568
Casey Bodley [Thu, 30 Apr 2026 14:12:07 +0000 (10:12 -0400)]
Merge pull request #67856 from cbodley/wip-75568

rgw/beast: add frontend option 'tls_groups'

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2 weeks agomgr/dashboard: Bump lodash 68694/head
Afreen Misbah [Thu, 30 Apr 2026 14:07:11 +0000 (19:37 +0530)]
mgr/dashboard: Bump lodash

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

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2 weeks agoMerge pull request #68622 from yuvalif/wip-yuval-76262
Yuval Lifshitz [Thu, 30 Apr 2026 13:33:58 +0000 (16:33 +0300)]
Merge pull request #68622 from yuvalif/wip-yuval-76262

rgw/notifications: relax topic names validation

2 weeks agoMerge pull request #66170 from kchheda3/wip-fix-account-acls-backward-compatbility
Casey Bodley [Thu, 30 Apr 2026 13:14:17 +0000 (09:14 -0400)]
Merge pull request #66170 from kchheda3/wip-fix-account-acls-backward-compatbility

rgw/account: Support backward compatibility for s3:PutAcls calls for users migrated to account.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoMerge pull request #67962 from smanjara/wip-async-lock
Casey Bodley [Thu, 30 Apr 2026 13:13:23 +0000 (09:13 -0400)]
Merge pull request #67962 from smanjara/wip-async-lock

rgw/multisite: convert lock/unlock coroutines to use aio_operate

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoMerge pull request #68055 from cbodley/wip-rgw-req-state-keys
Casey Bodley [Thu, 30 Apr 2026 13:09:30 +0000 (09:09 -0400)]
Merge pull request #68055 from cbodley/wip-rgw-req-state-keys

rgw: authorization avoids sal::Object::get_instance()

Reviewed-by: Pritha Srivastava <prsrivas@redhat.com>
2 weeks agoMerge pull request #68210 from lumir-sliva/rgw/ratelimit-response-improvements
Casey Bodley [Thu, 30 Apr 2026 13:07:22 +0000 (09:07 -0400)]
Merge pull request #68210 from lumir-sliva/rgw/ratelimit-response-improvements

rgw: add Retry-After header and configurable rate-limit response

Reviewed-by: Ville Ojamo <git2233+ceph@ojamo.eu>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoMerge pull request #66146 from tobias-urdin/keystone-cache-miss
Casey Bodley [Thu, 30 Apr 2026 12:51:50 +0000 (08:51 -0400)]
Merge pull request #66146 from tobias-urdin/keystone-cache-miss

rgw/keystone: perf counter for cache hit wrong

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 weeks agoMerge pull request #68553 from yaelazulay-redhat/issue_76176_ceph_mgr_fail_or_active_...
Redouane Kachach [Thu, 30 Apr 2026 12:19:15 +0000 (14:19 +0200)]
Merge pull request #68553 from yaelazulay-redhat/issue_76176_ceph_mgr_fail_or_active_ceph_mgr_restart_causes_unnecessary_client_files_recreation_on_admin_hosts

cephadm: ceph mgr fail or active ceph mgr restart causes unnecessary …

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Adam King <adking@redhat.com>
2 weeks agoMerge pull request #67417 from webalexeu/feat/mgmt_sso_improvements
Redouane Kachach [Thu, 30 Apr 2026 11:10:42 +0000 (13:10 +0200)]
Merge pull request #67417 from webalexeu/feat/mgmt_sso_improvements

mgr/dashboard: Improve oauth2 sso configuration

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
2 weeks agoMerge pull request #68452 from soumyakoduri/wip-skoduri-restore-crash
Soumya Koduri [Thu, 30 Apr 2026 11:08:00 +0000 (16:38 +0530)]
Merge pull request #68452 from soumyakoduri/wip-skoduri-restore-crash

rgw/cloud-restore: Fix the restore workers' shutdown order

Reviewed by: Casey Bodley <cbodley@redhat.com>
Reviewed by: Matthew N. Heler <matthew.heler@hotmail.com>

2 weeks agoMerge pull request #68658 from rhcs-dashboard/pool-permissions
Afreen Misbah [Thu, 30 Apr 2026 09:58:13 +0000 (15:28 +0530)]
Merge pull request #68658 from rhcs-dashboard/pool-permissions

mgr/dashboard: Update permissions for pool-manager role

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 weeks agoMerge pull request #67049 from adk3798/cgroup-cleanup-retry
Redouane Kachach [Thu, 30 Apr 2026 08:48:49 +0000 (10:48 +0200)]
Merge pull request #67049 from adk3798/cgroup-cleanup-retry

cephadm: retry cleaning old cgroups when it fails

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2 weeks agorgw/notifications: relax topic names validation 68622/head
Yuval Lifshitz [Sun, 26 Apr 2026 15:17:54 +0000 (15:17 +0000)]
rgw/notifications: relax topic names validation

Fixes: https://tracker.ceph.com/issues/76262
Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
2 weeks agoMerge pull request #61826 from ShwetaBhosale1/fix_issue_69861_NFS_commands_to_enable_...
Redouane Kachach [Thu, 30 Apr 2026 08:20:57 +0000 (10:20 +0200)]
Merge pull request #61826 from ShwetaBhosale1/fix_issue_69861_NFS_commands_to_enable_disable_ops_limiting

mgr/nfs: NFS cluster and export commands to enable and disable ops control

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Adam King <adking@redhat.com>
2 weeks agoMerge pull request #67720 from ShwetaBhosale1/fix_issue_74970_update_haproxy.cfg_to_s...
Redouane Kachach [Thu, 30 Apr 2026 08:19:45 +0000 (10:19 +0200)]
Merge pull request #67720 from ShwetaBhosale1/fix_issue_74970_update_haproxy.cfg_to_support_nfs_active_active_deployment

mgr/cephadm: Update haproxy.cfg template to support nfs active active deployment

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2 weeks agoMerge pull request #68657 from guits/fix-generic-activate-tpm2
Guillaume Abrioux [Thu, 30 Apr 2026 08:12:11 +0000 (10:12 +0200)]
Merge pull request #68657 from guits/fix-generic-activate-tpm2

ceph-volume: raw activate should ignore lvm backed OSD devices

2 weeks agoMerge pull request #68670 from guits/cv-fix-tpm2-pcrs
Guillaume Abrioux [Thu, 30 Apr 2026 08:11:29 +0000 (10:11 +0200)]
Merge pull request #68670 from guits/cv-fix-tpm2-pcrs

ceph-volume: make TPM2 PCR policy configurable (default to PCR 7)

2 weeks agoMerge pull request #68538 from yaelazulay-redhat/issue_75448_during_upgrade_an_error_...
Redouane Kachach [Thu, 30 Apr 2026 08:03:43 +0000 (10:03 +0200)]
Merge pull request #68538 from yaelazulay-redhat/issue_75448_during_upgrade_an_error_is_printed_when_inspecting_the_new_ceph_image_for_the_first_time

cephadm: During the upgrade, when inspecting the new ceph image for t…

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Adam King <adking@redhat.com>
2 weeks agoMerge pull request #68638 from kginonredhat/issue-76185-enable-mgmt-gateway-on-a...
Redouane Kachach [Thu, 30 Apr 2026 08:00:47 +0000 (10:00 +0200)]
Merge pull request #68638 from kginonredhat/issue-76185-enable-mgmt-gateway-on-a-FIPS-cluster-failed

Issue 76185 enable mgmt gateway on a fips cluster failed

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2 weeks agoMerge pull request #67984 from cheese-cakee/wip-75416-fix-log-req-id
Yuval Lifshitz [Thu, 30 Apr 2026 07:59:38 +0000 (10:59 +0300)]
Merge pull request #67984 from cheese-cakee/wip-75416-fix-log-req-id

rgw/logging: use trans_id for standard access log record

2 weeks agoMerge pull request #67825 from bluikko/wip-doc-rados-spelling3
bluikko [Thu, 30 Apr 2026 07:05:36 +0000 (14:05 +0700)]
Merge pull request #67825 from bluikko/wip-doc-rados-spelling3

doc/rados: Fix spelling errors (3 of 3)

2 weeks agocrimson/osd/pg: unify the current should_send_op method implementation 68533/head
Xuehan Xu [Wed, 22 Apr 2026 02:14:58 +0000 (10:14 +0800)]
crimson/osd/pg: unify the current should_send_op method implementation

Fixes: https://tracker.ceph.com/issues/76196
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
2 weeks agoMerge PR #68639 into main
Patrick Donnelly [Wed, 29 Apr 2026 21:56:45 +0000 (14:56 -0700)]
Merge PR #68639 into main

* refs/pull/68639/head:
script/ptl-tool: get git dir via git command

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agoMerge PR #68641 into main
Patrick Donnelly [Wed, 29 Apr 2026 20:39:07 +0000 (13:39 -0700)]
Merge PR #68641 into main

* refs/pull/68641/head:
script/ptl-tool: add option to not create a tag

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agoMerge PR #68655 into main
Patrick Donnelly [Wed, 29 Apr 2026 19:29:38 +0000 (12:29 -0700)]
Merge PR #68655 into main

* refs/pull/68655/head:
script/ptl-tool: allow PR numbers as GH urls

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agoscript/ptl-tool: source githumap from main branch 68640/head
Patrick Donnelly [Mon, 27 Apr 2026 20:08:56 +0000 (16:08 -0400)]
script/ptl-tool: source githumap from main branch

To make it authoritative.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2 weeks agodoc/cephfs/fs-volumes.rst: Correct volume creation with pre-existing pools 68211/head
adatri [Sat, 4 Apr 2026 00:42:20 +0000 (20:42 -0400)]
doc/cephfs/fs-volumes.rst: Correct volume creation with pre-existing pools

Signed-off-by: adatri <anthony.datri@gmail.com>
2 weeks agoMerge pull request #68186 from cbodley/wip-75534
Casey Bodley [Wed, 29 Apr 2026 17:15:53 +0000 (13:15 -0400)]
Merge pull request #68186 from cbodley/wip-75534

rgw: CompleteMultipartUpload can fail with 404 NoSuchUpload

Reviewed-by: Mark Kogan <mkogan@redhat.com>
2 weeks agoMerge pull request #68010 from phlogistonjohn/jjm-smb-mgr-incorrect-type-err
John Mulligan [Wed, 29 Apr 2026 15:24:56 +0000 (11:24 -0400)]
Merge pull request #68010 from phlogistonjohn/jjm-smb-mgr-incorrect-type-err

smb: improve smb mgr module resource type error handling

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Shachar Sharon <ssharon@redhat.com>
2 weeks agoMerge pull request #68648 from rhcs-dashboard/76288-fix-ec-profile-pool
Afreen Misbah [Wed, 29 Apr 2026 13:44:07 +0000 (19:14 +0530)]
Merge pull request #68648 from rhcs-dashboard/76288-fix-ec-profile-pool

mgr/dashboard : Fixes EC profile used pool empty

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Devika Babrekar <devika.babrekar@ibm.com>
2 weeks agoceph-volume: make TPM2 PCR policy configurable (default to PCR 7) 68670/head
Guillaume Abrioux [Wed, 29 Apr 2026 09:17:23 +0000 (11:17 +0200)]
ceph-volume: make TPM2 PCR policy configurable (default to PCR 7)

tpm enrollment for dmcrypt OSDs is hardcoded to systemd-cryptenroll
--tpm2-pcrs 9+12 which ties the LUKS key to initrd and kernel
command line measurements, which is brittle on RHEL image mode
systems: after a bootc switch, the kernel, initrd, or cmdline often
change, the PCRs move, and the volume won't unlock until you re-enroll
or fall back to another key.

typical error:

```
Apr 27 14:17:25 ceph-jx5fq20u bash[4289]: Running command: nsenter --mount=/rootfs/proc/1/ns/mnt --ipc=/rootfs/proc/1/ns/ipc --net=/rootfs/proc/1/ns/net --uts=/rootfs/proc/1/ns/uts /usr/lib/systemd/systemd-cryptsetup attach M3zE7r-qsGZ-xs0T-610d-SJNZ-U89x-J0cJq8 /dev/ceph-cac05fb6-51d3-4a60-9fc1-4958c568b433/osd-block-b1a495a0-e1a4-4888-baf9-7990f45f1e56 - tpm2-device=auto,discard,headless=true,nofail
Apr 27 14:17:26 ceph-jx5fq20u ceph-e5520e2c-420d-11f1-a7b9-5254001191fb-osd-0-activate[4300]:  stderr: Failed to unseal secret using TPM2: Operation not permitted
Apr 27 14:17:26 ceph-jx5fq20u bash[4289]:  stderr: Failed to unseal secret using TPM2: Operation not permitted
```

The patch makes the PCR set configurable and defaults to 7 so bootc style
deployments behave correctly.

Fixes: https://tracker.ceph.com/issues/76318
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2 weeks agomgr/dashboard: Update permissions for pool-manager role 68658/head
Afreen Misbah [Tue, 28 Apr 2026 16:55:32 +0000 (22:25 +0530)]
mgr/dashboard: Update permissions for pool-manager role

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

-  says denied access when clicked on create pool table action
- this was happening due to the failing monitor API added for stretch cluster configuration
- also updates overview nav permissions

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2 weeks agodoc/rados: Fix spelling errors (3 of 3) 67825/head
Ville Ojamo [Mon, 16 Mar 2026 16:54:06 +0000 (23:54 +0700)]
doc/rados: Fix spelling errors (3 of 3)

Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
2 weeks agoceph-volume: raw activate should ignore lvm backed OSD devices 68657/head
Guillaume Abrioux [Tue, 28 Apr 2026 15:10:59 +0000 (17:10 +0200)]
ceph-volume: raw activate should ignore lvm backed OSD devices

the generic activate (`ceph-volume activate`) runs the
raw path before LVM. Raw.activate was walking lsblk / raw
list entries and could hit block devices that are actually
logical volumes from `ceph-volume lvm prepare` or `lvm batch`
(with ceph lvm tags on the lv).
That made raw activation poke at LVM backed OSDs instead of
leaving it to `lvm activate`.

with this commit ceph-volume now builds the set of LV paths
that carry those tags once (`lvs` via ceph_volume_lvm_prepare_lv_paths)
and skip any candidate path that matches, so only real raw
OSDs go through the 'raw activate path'.

Also, we now pass `with_tpm` through luks_open() calls for db and
wal so encrypted metadata uses the same systemd-cryptsetup path
as the block LV when ceph.with_tpm is set.

Fixes: https://tracker.ceph.com/issues/76305
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2 weeks agoMerge pull request #68561 from bluikko/wip-doc-rados-troubleshooting-mon-improve
bluikko [Wed, 29 Apr 2026 05:53:02 +0000 (12:53 +0700)]
Merge pull request #68561 from bluikko/wip-doc-rados-troubleshooting-mon-improve

doc/rados: improve troubleshooting-mon.rst

2 weeks agoscript/ptl-tool: allow PR numbers as GH urls 68655/head
Patrick Donnelly [Tue, 28 Apr 2026 14:55:06 +0000 (10:55 -0400)]
script/ptl-tool: allow PR numbers as GH urls

For easier pasting.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2 weeks agoscript/ptl-tool: get git dir via git command 68639/head
Patrick Donnelly [Mon, 27 Apr 2026 19:37:43 +0000 (15:37 -0400)]
script/ptl-tool: get git dir via git command

Rather than a manual process.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2 weeks agoMerge pull request #66258 from aainscow/read_only_execs
Alex Ainscow [Tue, 28 Apr 2026 12:56:07 +0000 (13:56 +0100)]
Merge pull request #66258 from aainscow/read_only_execs

osd/rados/rgw/cephfs: Modernize cls interface with compile time safety

Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Adam Emerson <aemerson@ibm.com>
2 weeks agoMerge pull request #68026 from rhcs-dashboard/fix-theme
Afreen Misbah [Tue, 28 Apr 2026 12:45:35 +0000 (18:15 +0530)]
Merge pull request #68026 from rhcs-dashboard/fix-theme

mgr/dashboard: Enable gray 10 theme as per carbon standards

Reviewed-by: Abhishek Desai <abhishek.desai1@ibm.com>
2 weeks agoMerge pull request #68577 from cbodley/wip-74398
Casey Bodley [Tue, 28 Apr 2026 12:00:01 +0000 (08:00 -0400)]
Merge pull request #68577 from cbodley/wip-74398

rgw: read_obj_policy() consults s3:prefix when deciding between 403/404

Reviewed-by: Oguzhan Ozmen <oozmen@bloomberg.net>
2 weeks agocrimson/seastore: fixing some 'unused' warnings 67484/head
Ronen Friedman [Tue, 24 Feb 2026 12:59:54 +0000 (12:59 +0000)]
crimson/seastore: fixing some 'unused' warnings

in btree_types compilation.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 weeks agomgr/cephadm: replace md5_hash with FIPS-safe config_hash 68638/head
Kobi Ginon [Mon, 27 Apr 2026 19:08:54 +0000 (22:08 +0300)]
mgr/cephadm: replace md5_hash with FIPS-safe config_hash

Replace md5_hash() usages in cephadm dependency hashing with an
algorithm-agnostic config_hash() helper. config_hash() is backed by
SHA-256, making dependency hash generation unconditionally FIPS-safe
while preserving change-detection behavior.

Fixes: https://tracker.ceph.com/issues/76185
Signed-off-by: Kobi Ginon <kginon@redhat.com>
3 weeks agoMerge pull request #66993 from ceph/crimson-pg-subcommands
Kautilya Tripathi [Tue, 28 Apr 2026 11:14:10 +0000 (16:44 +0530)]
Merge pull request #66993 from ceph/crimson-pg-subcommands

crimson: add pg subcommands support in CLI

Reviewed-by: Aishwarya Mathuria aishwarya.mathuria@ibm.com
Reviewed-by: Kefu Chai tchaikov@gmail.com
3 weeks agoMerge pull request #68502 from ifed01/wip-ifed-more-zoned-remove
Igor Fedotov [Tue, 28 Apr 2026 09:59:08 +0000 (12:59 +0300)]
Merge pull request #68502 from ifed01/wip-ifed-more-zoned-remove

os/bluestore: remove obsolete "zoned" freelist type

Reviewed-by: Adam Kupczyk <akupczyk@ibm.com>
Reviewed-by: Jaya Prakash <jayaprakash@ibm.com>