From 69b37bc4a9a4a04d146694ba37504b05d7a135cf Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Tue, 9 Dec 2025 09:52:08 +0000 Subject: [PATCH] debian,ceph.spec: fix ceph-osd upgrade conflicts With https://github.com/ceph/ceph/pull/65782 merged, upgrading ceph-osd would need to replace the previous ceph-osd existing on the machine. Otherwise, we won't be able to symlink the newly installed package: ``` 2025-12-05T21:09:20.472 INFO:teuthology.orchestra.run.smithi077.stdout: Installing : ceph-osd-classic-2:20.3.0-4434.g8611241d.el9.x86_6 24/87 2025-12-05T21:09:20.478 INFO:teuthology.orchestra.run.smithi077.stdout: Running scriptlet: ceph-osd-classic-2:20.3.0-4434.g8611241d.el9.x86_6 24/87 2025-12-05T21:09:20.479 INFO:teuthology.orchestra.run.smithi077.stdout:failed to link /usr/bin/ceph-osd -> /etc/alternatives/ceph-osd: /usr/bin/ceph-osd exists and it is not a symlink ``` Signed-off-by: Matan Breizman --- ceph.spec.in | 2 ++ debian/control | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/ceph.spec.in b/ceph.spec.in index 66f2973b584..86153efb367 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -933,6 +933,7 @@ Summary: Ceph Object Storage Daemon (classic) Group: System/Filesystems %endif Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-osd < %{_epoch_prefix}%{version}-%{release} %description osd-classic classic-osd is the object storage daemon for the Ceph distributed file system. It is responsible for storing objects on a local file system @@ -945,6 +946,7 @@ Summary: Ceph Object Storage Daemon (crimson) Group: System/Filesystems %endif Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} +Obsoletes: ceph-osd < %{_epoch_prefix}%{version}-%{release} Requires: binutils Requires: protobuf %description osd-crimson diff --git a/debian/control b/debian/control index 692e5eaa8b9..cf1e9de23d7 100644 --- a/debian/control +++ b/debian/control @@ -461,6 +461,8 @@ Breaks: ceph (<< 10), Recommends: ceph-volume (= ${binary:Version}), nvme-cli, smartmontools, +Conflicts: ceph-osd (<< 20.3) +Replaces: ceph-osd (<< 20.3) Description: Classic OSD server for the ceph storage system Ceph is a massively scalable, open-source, distributed storage system that runs on commodity hardware and delivers object, @@ -494,6 +496,8 @@ Depends: ceph-base (= ${binary:Version}), Recommends: ceph-volume (= ${binary:Version}), nvme-cli, smartmontools, +Conflicts: ceph-osd (<< 20.3) +Replaces: ceph-osd (<< 20.3) Description: Crimson OSD server for the ceph storage system Ceph is a massively scalable, open-source, distributed storage system that runs on commodity hardware and delivers object, -- 2.47.3