Skip to content

squid: fix existing build errors - #15

Merged
uw-sc merged 9 commits into
squid-19.2.6-cobaltcore-storagefrom
backport/583
Sep 23, 2026
Merged

uw-sc merged 9 commits into
squid-19.2.6-cobaltcore-storagefrom
backport/583

Conversation

@uw-sc

@uw-sc uw-sc commented Sep 21, 2026

Copy link
Copy Markdown

Closes cobaltcore-dev/cloud-storage#583

Backport file

  • release-management/backports/<uuid>.md added (or updated) by this PR
  • id in frontmatter matches the filename stem
  • provenance.upstream_prs set (or provenance.type: other with an other: block)

Stage-B risk (filled per release-management/backports/RISK-RUBRIC.md)

  • blast — cosmetic / availability / data-loss
  • conflict — clean / trivial / substantive
  • coverage — strong / partial / weak
  • Risk-notes paragraph in the prose section (required for high band)

Merge

Land this via just merge-backport PR=<N> — do not click the green merge button.
The just recipe constructs the merge commit's Backport-Id trailer.

3e885ab ("mon/MonClient: add assertions for monc lock in
MonConnection") added a `ceph::mutex& monc_lock` reference member to
MonConnection, which makes the explicitly defaulted move assignment
operator implicitly deleted.  clang (-Wdefaulted-function-deleted,
promoted by -Werror) rejects that, so every make check / API build on
main fails since that merge:

  src/mon/MonClient.h:70:18: error: explicitly defaulted move assignment
  operator is implicitly deleted [-Werror,-Wdefaulted-function-deleted]

Nothing move-assigns a MonConnection (pending_cons/active_con only ever
move-construct), so spell out what the compiler already decided.

Fixes: 3e885ab
Signed-off-by: David Galloway <david.galloway@ibm.com>
Assisted-by: Claude Fable 5 (claude-fable-5)
(cherry picked from commit 79296fc)
(cherry picked from commit b09d0aa)
The cephx upgrade suites added with the CVE-2025-30156 merge are missing
the .qa links in X/ms_bind, X/tasks/07-client-auth-keys,
X/tasks/08-allowed-ciphers and the release-X counterparts, so the
"Check for missing .qa links" workflow (src/script/verify-qa) fails on
every PR based on current main.  Add the links verify-qa asks for.

Signed-off-by: David Galloway <david.galloway@ibm.com>
Assisted-by: Claude Fable 5 (claude-fable-5)
(cherry picked from commit 62c4d50)
(cherry picked from commit 9b57ff2)
fae0d0d ("mgr/cephadm: rotate keyring for core ceph daemons during
upgrade") made _upgrade_daemons() call _rotate_mgr_mon_auth_keys() on
every pass.  That function indexes mon_daemons[0] unconditionally, and
with an empty mon list _detect_need_upgrade() reports no mons needing
upgrade, which is taken as "all mons upgraded" -- so it goes on to set
auth_allowed_ciphers and rotate mgr keys before crashing with

  IndexError: list index out of range
  cephadm/upgrade.py:1795

Since that merge four cephadm unit tests fail deterministically in
run_tox_mgr on every PR (test_upgrade_daemons_offline_hosts,
test_upgrade_run[False/True],
test_do_upgrade_limit_exhausted_marks_complete_without_scope_check);
they exercise the upgrade machinery without any mon daemons in the
cache.

Without any known mon daemons we cannot tell whether the mons have been
upgraded and there is no mon keyring to rotate, so skip the rotation for
this pass and let the next upgrade pass retry once the cache has mons.

Fixes: fae0d0d
Signed-off-by: David Galloway <david.galloway@ibm.com>
Assisted-by: Claude Fable 5 (claude-fable-5)
(cherry picked from commit fa100f0)
(cherry picked from commit 9e0ff03)
0753b1d ("common/entity_name: dump type name as string") turned
STR_TO_ENTITY_TYPE into a vector of (entity_type_t, std::string) pairs
but left get_valid_types_as_str() streaming .first, i.e. the uint8_t
type value, so e.g. `ceph-conf --name total.garbage` now says

  valid types are:  , \x01, \x04, \x02, \x10, \x08

instead of "auth, mon, osd, mds, mgr, client", and the
src/test/cli/ceph-conf/invalid-args.t cram test fails in run-cli-tests.
Stream the name (.second).

Fixes: 0753b1d
Signed-off-by: David Galloway <david.galloway@ibm.com>
Assisted-by: Claude Fable 5 (claude-fable-5)
(cherry picked from commit 18e32fa)
(cherry picked from commit d1e1873)
The CVE-2025-30156 cephx merge (9633561) added a -t/--key-type
option to ceph-authtool, --auth-service-cipher/--auth-allowed-ciphers/
--auth-preferred-cipher options and auth_epoch/auth_*_cipher fields to
monmaptool, and the cephx_auth_aes256k mon feature bit, without
updating the cram expectations under src/test/cli, so run-cli-tests
fails on every PR.  Update the ten affected .t files with the output
the tools now produce.

Fixes: 9633561
Signed-off-by: David Galloway <david.galloway@ibm.com>
Assisted-by: Claude Fable 5 (claude-fable-5)
Conflicts:
	src/test/cli/monmaptool/feature-set-unset-list.t
	  The mon feature lists in the expected output are release-specific,
	  so the expectations were rebuilt from this branch's
	  src/mon/mon_types.h (appending cephx_auth_aes256k(2147483648) to squid's supported/persistent feature sets)
	  instead of taking main's lists.

(cherry picked from commit a935139)
(cherry picked from commit aab7c8e)
The cephx merge (9633561) left four unused local variables in
qa/tasks/ceph.py (key_prune/key_rotate/task) and an f-string without
placeholders plus an unused exception binding in qa/tasks/radosbench.py,
so run-tox-qa (flake8 --select=F,E9) fails on every PR.  No functional
change.

Fixes: 9633561
Signed-off-by: David Galloway <david.galloway@ibm.com>
Assisted-by: Claude Fable 5 (claude-fable-5)
(cherry picked from commit 297c44b)
(cherry picked from commit 595b588)
The OSD keyring rotation changes from the CVE-2025-30156 cephx merge
(c9bc85a "cephadm: restart OSD systemd unit after key rotation",
24dc65e "cephadm: Add retries to OSD key rotation") added lines to
cephadmlib/daemons/ceph.py that are not formatted the way
`tox -e check-black` (black>=23,<24, -l78) expects, so run-tox-cephadm
fails on every PR now that the py3 env passes again:

  would reformat /ceph/src/cephadm/cephadmlib/daemons/ceph.py
  1 file would be reformatted, 50 files would be left unchanged.

This is the output of `tox -e format-black` (black 23.12.1) on that
file; no functional change.

Fixes: 24dc65e
Signed-off-by: David Galloway <david.galloway@ibm.com>
Assisted-by: Claude Fable 5 (claude-fable-5)
(cherry picked from commit 6b206bc)
(cherry picked from commit ae37ac8)
TestOSDMap.cc uses stringify() but never includes include/stringify.h;
until now it compiled via a transitive include that the CVE-2025-30156
cephx merge removed, so once the MonClient.h build break earlier in the
compile is fixed, make check dies here instead:

  src/test/osd/TestOSDMap.cc: error: use of undeclared identifier 'stringify'

main got the include from 0735848
("test: add missing includes", part of a 22-commit include-hygiene PR
that is not worth backporting wholesale), hence this branch-local
commit rather than a cherry-pick.

Signed-off-by: David Galloway <david.galloway@ibm.com>
Assisted-by: Claude Fable 5 (claude-fable-5)
(cherry picked from commit a8eddc1)
On-behalf-of: SAP <uwe.schwaeke@sap.com>
Signed-off-by: Uwe Schwaeke <uwe.schwaeke@clyso.com>

@irq0 irq0 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@uw-sc
uw-sc merged commit d7c6765 into squid-19.2.6-cobaltcore-storage Sep 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants