Commit Graph

224 Commits

Author SHA1 Message Date
Thomas Lamprecht
b37e61006f normalize downstream patches
with a cycle through `git am -3 ...` in the upstream repo, `rm
*.patch` here, and `git format-patch --zero-commit --no-signature
--diff-algorithm=myers --no-numbered -o ...` in the upstream repo
again.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-07-30 20:17:52 +02:00
Thomas Lamprecht
1e7615d77c bump version to 18.2.4-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-07-25 18:51:09 +02:00
Thomas Lamprecht
c9888f4bf8 drop patches applied upstream
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-07-25 18:47:11 +02:00
Thomas Lamprecht
f38dd50b34 import ceph reef 18.2.4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-07-25 18:23:05 +02:00
Thomas Lamprecht
e9fe820e7f bump version to 18.2.2-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-11 17:31:30 +01:00
Thomas Lamprecht
df9f7d3d5c import ceph reef 18.2.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-11 17:30:13 +01:00
Max Carrara
6fb7442deb reorder keyring used by ceph-crash favoring non-host-specific keyring
This patch makes it so that `ceph-crash` attempts to use the
non-host-specific keyring before anything else, which avoids
unnecessary error messages landing in the systemd-journal in our case.

Signed-off-by: Max Carrara <m.carrara@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-11 17:30:13 +01:00
Max Carrara
01e4a3cd84 d/postinst: ensure all ceph state files/dirs have correct owner
Ceph has a postinst hook that sets the ownership of '/var/lib/ceph/*'
to ceph:ceph (in our case), but misses out on the contents of
'/var/lib/ceph/crash'.

This patch therefore also recursively updates the permissions of
'/var/lib/ceph/crash'.

The change was also proposed upstream [0].

[0]: https://github.com/ceph/ceph/pull/55917

Signed-off-by: Max Carrara <m.carrara@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-11 17:30:13 +01:00
Friedrich Weber
e45d466e43 fix #5213: ceph-osd postinst: add patch to avoid connection freezes
Assume there is an open TCP connection to a VM, and ceph-osd is
installed/upgraded on the host on which the PVE firewall is active.
Currently, ceph-osd postinst reloads all sysctl settings. Thus,
installing/upgrading ceph-osd will set the sysctl setting
`net.bridge.bridge-nf-call-iptables` to 0. The PVE firewall will flip
the setting back to 1 in its next iteration (in <10 seconds). But
while the setting is 0, conntrack will not see packets of the existing
TCP connection. When the setting is flipped back to 1, conntrack will
see packets again, but may consider the seq/ack numbers of new packets
out-of-window, mark them as invalid and drop them. This will freeze
the TCP connection.

To avoid this, add a patch that modifies the ceph-osd postinst to only
apply settings from the sysctl settings file shipped with ceph-osd,
and only apply them on fresh install. As the ceph-osd sysctl settings
do not set `net.bridge.bridge-nf-call-iptables`, this will avoid the
temporary flip to 0 when installing/upgrading ceph-osd.

Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
2024-02-15 14:01:02 +01:00
Max Carrara
7bd13736e1 patch: fix ceph dashboard subcommand becoming unavailable on crash
Adapt the patch that originally disabled certain TLS checks during the
dashboard's startup and fixes the `ceph dashboard` subcommand becoming
unavailable if the dashboard crashes during that time.

This is achieved by re-implementing certain checks and also re-raising
any other unforeseen exceptions that occur in regards to TLS as one
of Ceph's internal exception types, which are then handled by the
dashboard itself. This is akin to how these cases were handled
originally.

Also fixes a typo in the `ceph dashboard create-self-signed-cert`
command output.

Signed-off-by: Max Carrara <m.carrara@proxmox.com>
2024-02-02 19:10:20 +01:00
Thomas Lamprecht
ab5c03b44d drop superfluous build-type patch and re-order other one
As Fabian correctly noticed, from the two PR's, namely PR #54918[0]
and PR #54891[1], only the first one is necessary, that's why the
second one was closed upstream, so drop it here too to avoid a
unnecessary divergence from upstream.

[0]: https://github.com/ceph/ceph/pull/54918
[1]: https://github.com/ceph/ceph/pull/54891

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-01-15 16:50:29 +01:00
Max Carrara
86a553d66e mgr/dashboard: add patch that removes PyOpenSSL-related usages
This patch allows the dashboard to work again with TLS enabled; it
however disables the possibility to create self-signed certs via the
`ceph` CLI. This means that users will have to supply the correct
key/cert pair themselves, which are just a few extra steps instead. [0]

Users that try to generate a self-signed cert via the `ceph` CLI are
instead provided with instructions on how to generate and configure a
key/cert pair themselves.

Additionally, the check whether the cert and key match is removed during
the dashboard's launch.

See the patch for additional details.

[0]: https://docs.ceph.com/en/reef/mgr/dashboard/#ssl-tls-support

Signed-off-by: Max Carrara <m.carrara@proxmox.com>
2024-01-15 16:48:32 +01:00
Max Carrara
f35168f671 mgr/dashboard: add backport that allows the dashboard to work again
After upgrading from PVE 7 to PVE 8, some users noted that the Ceph
Dashboard does not work anymore. [0] A user from our community
provided a pull request [1] which removes a dependency to `PyJWT`
(Python). This commit adds a backport of this PR as a single patch.

This patch by itself however does not yet allow the dashboard to run
with TLS enabled.

[0]: https://forum.proxmox.com/threads/ceph-warning-post-upgrade-to-v8.129371/
[1]: https://github.com/ceph/ceph/pull/54710

Signed-off-by: Max Carrara <m.carrara@proxmox.com>
2024-01-15 16:48:12 +01:00
Thomas Lamprecht
850293cdaa bump version to 18.2.1-pve2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-01-09 17:11:16 +01:00
Alexandre Derumier
65900e1cfd cherry-pick fix so rocksdb build inherits parent's CMAKE_CXX_FLAGS
cherry-pick both, beb1a624921 ("cmake/modules/BuildRocksDB.cmake:
inherit parent's CMAKE_CXX_FLAGS") and 620b68a348f
("cmake/modules/BuildRocksDB.cmake: use string(APPEND ..) when
appropriate")

upstream PR: https://github.com/ceph/ceph/pull/54918

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
 [TL: squash patches actually ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-01-09 17:08:35 +01:00
Alexandre Derumier
1120ba7c3d patch: debian/rules: fix build type
source: https://github.com/ceph/ceph/pull/54891

build packages with 'RelWithDebInfo' to avoid to build rocksdb in debug

This is already the default in ubuntu packages
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1894453
2024-01-09 16:50:01 +01:00
Thomas Lamprecht
bd13ed795e bump version to 18.2.1-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-19 17:12:38 +01:00
Thomas Lamprecht
e868ce26e9 refresh patches and drop ones applied upstream
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-19 17:12:38 +01:00
Thomas Lamprecht
aee94f6923 update ceph source to reef 18.2.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-19 09:13:36 +01:00
Stefan Hanreich
27f45121cc add stop-gap to fix compat with CPUs not supporting SSE 4.1
Some of our users ran into issues with running Ceph on older CPU
architectures [1]. This is apparently due to a bug in gf-complete
paired with gcc-12, that
leads to SSE 4.1 instructions being emitted in the general code,
rather than dynamically dispatching functions using those
instructions. Those binaries then break on older CPUs that do not
support this instruction set.

I've ran some benchmarks with `rados bench` against our last release
(18.2.0-pve2) and this new version. The commands were taken from our
latest Ceph benchmarking paper [2]. The results showed that this patch
does not lead to performance regressions on newer hardware.

                  18.2.0-pve2    this patch
Read EC           4574.28        4651.95
Write EC          3739.59        3773.87
Read Replicated   5345.34        5568.41
Write Replicated  4123.28        4066.19
(numbers correspond to bandwidth in MB/s)

[1] https://forum.proxmox.com/threads/proxmox-8-ceph-quincy-monitor-no-longer-working-on-amd-opteron-2427.129613
[2] https://www.proxmox.com/en/downloads/proxmox-virtual-environment/documentation/proxmox-ve-ceph-benchmark-2020-09

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
2023-10-31 10:46:32 +01:00
Thomas Lamprecht
d724bab467 bump version to 18.2.0-pve2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-09-05 13:53:43 +02:00
Thomas Lamprecht
c945b95516 debian: add missing bcrypt to manager .requires
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-09-05 13:37:48 +02:00
Thomas Lamprecht
4cbf9450c0 bump version to 18.2.0-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-08-25 14:06:47 +02:00
Thomas Lamprecht
05a536ef04 update ceph source to reef 18.2.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-08-25 14:05:24 +02:00
Thomas Lamprecht
ab27109dd2 compile with GCC 12 not 11
i.e., the current default in Bookworm.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-07-25 21:26:20 +02:00
Thomas Lamprecht
182fb31172 renumber patches
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-07-25 21:26:20 +02:00
Thomas Lamprecht
731bde3991 bump version to 18.1.2-pve1 for RC2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-07-25 17:18:44 +02:00
Thomas Lamprecht
06df855589 drop patches applied upstream
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-07-25 17:18:44 +02:00
Thomas Lamprecht
1e59de9002 update ceph source to reef 18.1.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-07-25 17:18:44 +02:00
Thomas Lamprecht
bd41e436e2 buildsys: change download over to reef release
use Ubuntu 22.04 Jammy as distro as it seems Ceph does not (yet?)
provide a source release for any modern Debian based distro, not that
it should matter much for the source package.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-07-25 17:18:43 +02:00
Thomas Lamprecht
f72c698a55 fix #4759: run ceph-crash daemon with www-data group for access to conf
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 13:43:04 +02:00
Thomas Lamprecht
810db68029 bump version to 17.2.6-pve1+3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-03 16:47:15 +02:00
Thomas Lamprecht
c9a7474fbd define iterators without std::iterator<>
> std::iterator<> is deprecated in C++17, so let's just define the
> required traits directly.

cherry-picked/backported from upstream PRs:
https://github.com/ceph/ceph/pull/45419/commits
https://github.com/ceph/ceph/pull/45198/commits

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-03 16:45:17 +02:00
Thomas Lamprecht
48cf467e51 fix compat with libfmt v9 from bookworm
stuck together from multiple Debian/Ceph changes..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-03 16:45:05 +02:00
Thomas Lamprecht
e8b6b943f7 bump version to 17.2.6-pve1+2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-03 08:34:08 +02:00
Thomas Lamprecht
5ff1242a9b backport compat fix for python 3.10+ PEP 620
cherry-picked from Debian boost 1.74 package [0], adapted to the
bundled 1.75 boost included by ceph. Note that 1.75 has the fopen
compat patch already included.

[0]: 107cd01182

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-03 08:32:14 +02:00
Thomas Lamprecht
69b3aae329 bump version to 17.2.6-pve1+1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-02 18:07:06 +02:00
Thomas Lamprecht
995dec2cda bump version to 17.2.6-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-04-11 09:47:29 +02:00
Thomas Lamprecht
39ae355f72 import ceph quincy 17.2.6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-04-11 09:43:51 +02:00
Thomas Lamprecht
e04241aa9b bump version to 17.2.5-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-10-23 17:14:51 +02:00
Thomas Lamprecht
e3986515fe import ceph quincy 17.2.5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-10-23 17:11:29 +02:00
Thomas Lamprecht
b26dd582fc bump version to 17.2.4-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-10-03 09:56:44 +02:00
Thomas Lamprecht
0d0a03a08f update patches for quincy beta
basically just some context or line number changes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-10-03 09:54:58 +02:00
Thomas Lamprecht
2a84554012 import ceph quincy 17.2.4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-10-01 10:42:36 +02:00
Thomas Lamprecht
0948533fc3 check in ceph 17.2.3 sources
we don't plan to build those as the changes are rather irrelevant for
Proxmox VE users

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-08-29 09:10:01 +02:00
Thomas Lamprecht
2508b9f16e bump version to 17.2.1-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-24 08:50:09 +02:00
Thomas Lamprecht
33c7a0ef21 import ceph quincy 17.2.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-24 08:48:13 +02:00
Thomas Lamprecht
334454b92d bump version to 17.2.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-21 17:58:33 +02:00
Thomas Lamprecht
1d09f67e50 import quincy 17.2.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-21 17:58:33 +02:00
Thomas Lamprecht
a653f20b2f update patches for quincy beta
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-21 17:58:32 +02:00