Commit Graph

61 Commits

Author SHA1 Message Date
Thomas Lamprecht
3f7d054ee1 pveceph: allow to select test repository on installation
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-20 20:55:02 +02:00
Thomas Lamprecht
00fa70bfd9 enable ceph 16.2 pacific
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-20 20:54:52 +02:00
Thomas Lamprecht
339ff552b1 Revert "buildsys: change upload/repo dist to bullseye"
pushed by mistake, please ignore this and the previous one

This reverts commit 4816c96931.
2021-05-20 20:52:52 +02:00
Thomas Lamprecht
4816c96931 buildsys: change upload/repo dist to bullseye
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-20 14:55:53 +02:00
Thomas Lamprecht
861bf37d54 pveceph install: fix fallback for default version
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-19 18:25:45 +02:00
Thomas Lamprecht
37bf860e3e pveceph: fixup syntax issue
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-03 14:38:16 +02:00
Thomas Lamprecht
ece49b3c90 ceph: reload API daemons after installation
To make them load the updated librados2, as else they may potentially
not be able to communicate with the potentially newer ceph monitors,
as Debian 10 ships Jewel (12.2) by default...

While we could do some more fancy signaling to the workers to reload
the lib, that is rather a PITA and complex solution for something
that happens once in a blue moon.

We may want to add a trigger in ceph for this on updates though, that
would effectively fix this too - but needs to be thought out better.
So for now lets go with the simplest solution.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-03 14:32:50 +02:00
Thomas Lamprecht
d26556c07b pveceph: octopus is OK and wanted to be installed/used
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-27 12:27:32 +02:00
Alwin Antreich
5a3d794242 ceph: add autoscale_status to api calls
the properties target_size_ratio, target_size_bytes and pg_num_min are
used to fine-tune the pg_autoscaler and are set on a pool. The updated
pool list shows now autoscale settings & status. Including the new
(optimal) target PGs. To make it easier for new users to get/set the
correct amount of PGs.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-20 18:20:35 +02:00
Alwin Antreich
54ba7dd991 ceph: add get api call for single pool
Information of a single pool can be queried.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2021-02-06 14:28:39 +01:00
Alwin Antreich
56d02a863b api: ceph: subclass pools
for better handling and since the pool endpoints got more entries.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2021-02-06 14:17:53 +01:00
Thomas Lamprecht
ab459f6da0 pveceph: add timeout to status command
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-21 15:19:40 +01:00
Aaron Lauterer
1baeb2d130 pveceph: change status from long JSON to ceph -s
Printing a lot of very detailed JSON output on the CLI is not very
useful.

Printing the `ceph -s` overview is much more suited to give an overview
of the ceph cluster status.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2020-12-21 14:21:35 +01:00
Thomas Lamprecht
c64ee08643 pveceph: update octopus repository
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-23 12:01:52 +01:00
Thomas Lamprecht
71696fc1ad ceph: do not require allow-experimental flag for octopus anymore
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-22 17:59:36 +01:00
Alwin Antreich
ba24f026e0 ceph: allow to alter pool settings
after creation, so that users don't need to go the ceph tooling route.
Separate common pool options to reuse them in other places.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2020-10-22 18:18:35 +02:00
Thomas Lamprecht
ecddd2e231 Revert "Close #1623: replace apt-get to apt"
This reverts commit 19137ed620.
2020-07-08 10:55:56 +02:00
Moayad Almalat
19137ed620 Close #1623: replace apt-get to apt
Signed-off-by: Moayad Almalat <m.almalat@proxmox.com>
2020-07-07 18:52:28 +02:00
Alwin Antreich
d4dba076a6 ceph: extend pveceph pool ls
to present more data on pools and a nicer formated output on the command
line.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2020-06-03 16:08:27 +02:00
Thomas Lamprecht
45221aae94 ui: ceph/StatusDetail: cleanups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-03 15:25:39 +02:00
Thomas Lamprecht
dea23f32b0 pveceph: make installing luminous on PVE 6 experimental
It's only available for the upgrade from 5.4 anyway

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-28 15:25:12 +02:00
Thomas Lamprecht
6181940384 pveceph: allow installing octopus as experimental option
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-28 15:25:12 +02:00
Thomas Lamprecht
c3a3f3ab2a ceph purge: adapt warning message slightly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 16:38:51 +02:00
Alwin Antreich
91dfa228d3 Fix #1210: ceph: extend pveceph purge
to clean service directories as well as disable and stop Ceph services.
Addtionally provide the option to remove crash and log information.

This patch is also in addtion to #2607, as the current cleanup doesn't
allow to re-configure Ceph, without manual steps during purge.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2020-05-06 16:24:46 +02:00
Dominic Jäger
7da6ff2671 pveceph: Make service parameter optional
The default value for "pveceph start" and "pveceph stop" is "ceph.target".
However, omitting the parameter to use the default has been forbidden.

Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
2020-02-17 13:06:43 +01:00
Dominik Csapak
0b50996da5 ceph: remove obsolete ceph.service and do not distribute it anymore
in nautilus there is no ceph-disk anymore and osd activation
does not use udev anymore so this service is not needed anymore

remove it and do not copy it when installing a new ceph cluster

in pve-storage.target we replace ceph.service with ceph.target

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-07-04 17:09:48 +02:00
Thomas Lamprecht
cf06393a7a pveceph install: set repo URL to download.proxmox.com nautilus repo
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-04 15:52:51 +02:00
Thomas Lamprecht
c3d9c6980d pveceph install: allow nautilus and use as default
We allow 'luminous' still for testing purpose, it could be also
useful if one already upgraded his cluster to PVE 6.0 / Buster but
not yet ceph and due to a incident needs to setup a new luminous node
on Buster to get  healthy again. This is fabricated but not
unthinkable, as it costs nothing and isn't available for WebUI user
just keep it for now. Remove with a future point release though.
Use non-public repo for now, will be updated to testing soon.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-27 16:17:29 +02:00
Thomas Lamprecht
87166f36ad pveceph install: output warnings from apt update, they're relevant
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-27 16:17:29 +02:00
Thomas Lamprecht
2ca75379f7 ceph install: pull out ceph packages and apt command
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-26 13:41:16 +02:00
Thomas Lamprecht
13f0b446e0 ceph: install: run_command is imported, use directly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-26 13:39:41 +02:00
Thomas Lamprecht
bba5c71217 ceph: drop systemd_managed - we now always are
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-26 13:35:39 +02:00
Thomas Lamprecht
36d5ee1272 api: install ceph: remove old cruft
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-26 12:40:33 +02:00
Thomas Lamprecht
588c0a75a7 followup: code cleanup and print error
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-04-16 12:06:25 +00:00
Alwin Antreich
1b364b3a98 pveceph: install ceph service print sucess message
This patch adds a success message on successful ceph.service
installation. And adds a newline to make a successful ceph package
installation more visible.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2019-04-16 12:03:29 +00:00
Thomas Lamprecht
55ab726e61 pveceph install: be a bit more verbose
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-03-28 13:24:12 +01:00
Dominik Csapak
98fe93ae25 ceph: move Monitor API calls to API2/Ceph/MON.pm
and adapt the paths

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-12-20 09:44:01 +01:00
Dominik Csapak
4fec2764f1 ceph: move MGR API calls to API2/Ceph/MGR.pm
and adapt the paths

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-12-20 09:44:01 +01:00
Dominik Csapak
79fa41a2b8 ceph: move API2::CephOSD to API2::Ceph::OSD
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-12-20 09:44:01 +01:00
Dominik Csapak
6fb08cb923 ceph: move CephTools into Ceph/Tools.pm
It makes more sense to have it there, especially since we want to
split out the service parts into a seperate file.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-12-20 09:44:01 +01:00
Thomas Lamprecht
761f162bff pveceph: ensure ceph-fuse gets uptdated when installing ceph server
as we depend on ceph-fuse elsewhere (pve-storage) this gets installed
from Debians repositories with the Ceph 10 version.
So ensure that an up to date version, from our current supported Ceph
release, gets installed when doing `pveceph install` else you may
fall into certain issues which would have been already resolved with
a newer version.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-27 15:24:08 +01:00
Thomas Lamprecht
f16bb531ed pveceph: mds destroy: fixup parameter s/id/name/
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-26 17:11:37 +01:00
Thomas Lamprecht
6f35f0ced1 pveceph: also install ceph-mds for hyper converged install
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-23 15:11:03 +01:00
Thomas Lamprecht
8c4767828b pveceph: move to sub commands
add aliases for the existing ones, ignore the ones for MDS and
CephFS, they did never hit any repo.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-23 13:33:12 +01:00
Thomas Lamprecht
7e1a9d25b6 ceph: add CephFS create and list API
Allow to create a new CephFS instance and allow to list them.

As deletion requires coordination between the active MDS and all
standby MDS next in line this needs a bit more work. One could mark
the MDS cluster down and stop the active, that should work but as
destroying is quite a sensible operation, in production not often
needed I deemed it better to document this only, and leaving API
endpoints for this to the future.

For index/list I slightly transform the result of an RADOS `fs ls`
monitor command, this would allow relative easy display of a CephFS
and it's backing metadata and data pools in a GUI.

While for now it's not enabled by default and marked as experimental,
this API is designed to host multiple CephFS instances - we may not
need this at all, but I did not want to limit us early. And anybody
liking to experiment can use it after the respective ceph.conf
settings.

When encountering errors try to rollback. As we verified at the
beginning that we did not reused pools, destroy the ones which we
created.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Co-authored-by: Alwin Antreich <a.antreich@proxmox.com>
2018-11-23 13:33:12 +01:00
Thomas Lamprecht
b82649cc52 ceph: add MDS create/delete/list API
Allow to create, list and destroy and Ceph Metadata Server (MDS) over
the API and the CLI `pveceph` tool.

Besides setting up the local systemd service template and the MDS
data directory we also add a reference to the MDS in the ceph.conf
We note the backing host (node) from the respective MDS and set up a
'mds standby for name' = 'pve' so that the PVE created ones are a
single group. If we decide to add integration for rank/path specific
MDS (possible useful for CephFS with quite a bit of load) then this
may help as a starting point.

On create, check early if a reference already exists in ceph.conf and
abort in that case. If we only see existing data directories later
on we abort but do not remove them, they could well be from an older
manual create - where it's possible dangerous to just remove it. Let
the user handle it themself in that case.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Co-authored-by: Alwin Antreich <a.antreich@proxmox.com>
2018-11-23 13:33:12 +01:00
Alwin Antreich
180d612bfa Add %-used and min_size to "pveceph lspools" command
Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2017-10-31 08:21:32 +01:00
Dominik Csapak
ca68ac3efd pveceph: add createmgr/destroymgr commands
this patch adds the create-/destroymgr commands to the api and pveceph,
so that advanced users can split monitor and manager daemons

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-26 14:45:07 +02:00
Wolfgang Bumiller
9cf3e44912 ceph: end ceph.list with a newline 2017-07-20 09:32:28 +02:00
Fabian Grünbichler
caf3785549 pveceph: use luminous by default 2017-03-21 13:50:28 +01:00