distutils_add_cython_module() runs setup.py with WORKING_DIRECTORY set
to the source directory, so every build leaks
{rados,cephfs,rbd,rgw}_processed.pyx into the source tree as untracked
files. Write the file to CYTHON_BUILD_DIR (already exported by that
CMake function) when set, keeping the cwd fallback for standalone
invocations.
The .pyx no longer sits next to the bindings' .pxd files, so add each
binding's source directory to include_path. Drop the build_dir
argument: it has no effect on absolute source paths.
Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
crimson/osd: fix boot crash when a peer OSD was purged across an osdmโฆ
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Previously, ConflictSimulationCheck only anticipated merge conflicts
when simulating upstream cherry-picks. If a branch-specific commit (such
as test repo branch adjustments or backport metadata changes) failed to
apply cleanly to the target base branch, the script threw an unhandled
GitCommandError and crashed with an unhandled traceback.
Wrap branch-specific commit cherry-picks in a try...except block. When a
conflict occurs, abort the cherry-pick, record a "Rebase Required"
simulation failure in the audit report, and either prompt the user in
interactive mode or gracefully halt check execution in CI mode.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
release.gpg no longer exists at download.ceph.com/keys/ (moved to
/keys/old/, last updated 2020-08-21). Only release.asc is current and
maintained. autobuild.gpg still resolves but is inconsistent with this
and could rot the same way.
repo_gpgkey() now returns the .asc URLs for both release and autobuild
keys. rpm --import and apt accept ASCII-armored keys directly, so no
other code changes are needed.
Fixes 404s seen in qa/workunits/cephadm/test_repos.sh and reported by
users running cephadm add-repo on current distros.
Fixes: https://tracker.ceph.com/issues/78179
Signed-off-by: Redouane Kachach <rkachach@ibm.com>
Previously, workflow routing and PR state management were split between
the GitHub Actions workflow and the underlying PTL script, leading to
stale branch protection states, API pagination bugs, and blocked merges
during manual overrides.
This refactors the workflow into a centralized state machine and decouples
status reporting from the audit tool:
* Decouple State Management: Remove `--audit-label` from `ptl-tool.py` and
move all commit status and label transitions (`releng-audit-pass`,
`releng-audit-fail`) into a dedicated workflow reporter step.
* Non-Blocking Review Comments: Update `ptl-tool.py` in CI mode to post
audit findings as `COMMENT` events rather than `REQUEST_CHANGES`,
preventing stale review states from blocking PRs after an override.
* Add Step Summaries: Implement `write_ci_summary()` in `ptl-tool.py` to
output rich Markdown diagnostic reports directly to `GITHUB_STEP_SUMMARY`.
* Atomic Override Handling: Add `setOverrideStatus()` and `executeOverride()`
to push an immediate `success` commit status when `/audit override` or the
override label is applied, unblocking required branch protection checks.
* Safe SHA & Label Lookup: Replace the unpaginated Bash `curl` request with
a reusable `getPrSha()` helper and evaluate overrides directly within the
JavaScript router.
* Handle Cancellations Safely: Map `cancelled` workflow outcomes to an
`error` commit status rather than defaulting to `failure`.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
mgr/cephadm: track SMB rgw_creds_uri as a daemon dependency
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
Probe download.ceph.com before each stable add-repo and skip releases
that are not published for the current distro. This avoids apt/yum
failures on newer OS versions (e.g. Ubuntu 24.04/noble) where older
stable trees like quincy and reef were never published.
Fixes: http://tracker.ceph.com/issues/77248
Signed-off-by: Yael Azulay <yazulay@redhat.com>
When enable_haproxy_protocol is set, _haproxy_hosts() can collect the
same address more than once. Store collected IPs in a set and return a
list so HAProxy_Hosts contains only unique entries.
Fixes: https://tracker.ceph.com/issues/78094
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
osd: Enable support for omaps in EC pools
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Alex Ainscow <aainscow@uk.ibm.com>
Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Introduce a supported whitelist of component tags (e.g., rgw, cephfs,
rbd, cephadm) and automatically extract matching labels from the queued
GitHub pull requests during integration branch builds.
When building or updating a Redmine QA tracking ticket:
* Append matching component tags directly to each PR line in the ticket
description (e.g., `(tags: rgw, cephfs)`).
* Populate the `tag_list` attribute on the Redmine issue to seamlessly
integrate with the RedmineUP Tags plugin.
* When updating an existing QA ticket, preserve any pre-existing tags
already attached to the issue and merge them with the active PR tags.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Introduce the `--qe-label <pr-label>` option to streamline daily integration
testing and Redmine QA tracking for backports.
Using `--qe-label` automatically implies `--integration` and `--pr-label`,
and manages Redmine QA tracking tickets via custom field 45 (Ceph PR Label):
* Searches for open QA tickets matching the specified PR label and target
release branch.
* If exactly one open ticket is found, prompts the user to either update
the existing ticket or create a new one.
* If no open ticket is found, automatically defaults to creating a new
QA ticket with the label stored in its metadata.
* Adds pre-flight validation to ensure all labeled PRs target the exact
same base branch, preventing ambiguous or mixed-release merges.
* Halts execution if multiple ambiguous open QA tickets exist for the
same label and release branch.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Refactor the Commit Parity Visualizer generation to use a deterministic
ordered grouping loop instead of a state machine. Missing commits are now
reliably printed within their respective original PR blocks, and any extra
backport commits are isolated at the bottom of the table.
In addition, add automated checks to detect "scrambled" commits during
backports:
* Verify that commits from multiple upstream PRs are not interleaved or
scrambled together.
* Verify that commits within an individual upstream PR are applied in
their exact original chronological sequence.
If scrambled or out-of-order commits are detected, log a failure in CI mode
or prompt the user for interactive resolution to ensure clean backport
history and reduce regression risks.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>