Commit Graph

550 Commits

Author SHA1 Message Date
Thomas Lamprecht
78c2d7f781 api: ceph/osd: conciser metadata array to hash mapping
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-04-24 10:24:21 +00:00
Thomas Lamprecht
de6ad72f23 followup: refactor & code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-04-24 10:22:58 +00:00
Dominik Csapak
91564b7267 adapt osd api call for ceph nautilus
ceph nautilus changed the structure of 'pg dump osds'
they moved the data one level below

parse both new and old format, and bail if it returns anything else

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-04-24 10:06:28 +00:00
Fabian Grünbichler
e1c20e2a77 call cfs_update() before retrieving cluster status
otherwise this potentially returns outdated information (like the
cluster being quorate when corosync has crashed on all nodes 5 minutes
ago).

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-04-18 09:44:11 +00:00
Thomas Lamprecht
57d56896c8 fix #263: only include node rrd stats if user has Sys.Audit
It makes sense to not give users without Sys.Audit permissions to
much information over a node and this is relatively easy and cheap to
check and enforce at those two points.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Oguz Bektas <o.bektas@proxmox.com>
2019-04-16 12:28:42 +00:00
Thomas Lamprecht
a7a84cb446 api: ceph/mon: improve no ip error
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-04-08 17:36:54 +02:00
Alwin Antreich
7491160403 Ceph MON - Reword error message on IP config
Reword the error message in find_mon_ip to make it more clear, that
there is no active IP configuration for the ceph public network.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2019-04-08 17:04:27 +02:00
Tim Marx
410f2cb0c6 api: ceph: ensure calls get proxied to correct node
If calls aren't proxied to the selected node, which seems legit in
 some cases, this will cause some misleading errors while ceph is
 not installed on that node. Therefor the calls should now always get
 proxied.

Signed-off-by: Tim Marx <t.marx@proxmox.com>
2019-03-28 14:16:49 +01:00
Thomas Lamprecht
8572111635 api/ceph: allow default value for service start/stop
it's a bit strange that one cannot pass the default value explicitly,
helpfull when calling this API path through the CLI envrionment,
which currently cannot have optional fixed-positioned default values

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-03-25 13:33:07 +01:00
Thomas Lamprecht
e9c2c2180f api/apt: remove unused variable
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-03-19 14:48:21 +01:00
Tim Marx
0cfc685654 check for ceph inited at status api
As this is now the default behavior in all other ceph api endpoints,
I adapted the status api correspondingly.

We also pass our ceph configuration file directly when connecting to
RADOS, so a /etc/ceph/ceph.conf isn't necessarily required to
indicate a fully setup and enabled PVE-ceph environment.

Signed-off-by: Tim Marx <t.marx@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-03-15 14:05:02 +01:00
Tim Marx
c3b04731bb add pveceph install to shell api
Signed-off-by: Tim Marx <t.marx@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-02-28 13:21:21 +01:00
Thomas Lamprecht
d4a25f0b88 followup: fix whitespace error
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-02-28 13:05:46 +01:00
Tim Marx
2d39fd70d5 deprecate old upgrade property
Signed-off-by: Tim Marx <t.marx@proxmox.com>
2019-02-28 13:04:23 +01:00
Thomas Lamprecht
dab7a849db api/nodes: fix variable name style: s/cmdMapper/shell_cmd_map/
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-02-28 13:04:10 +01:00
Tim Marx
d03d7e1eee unified the classification of the passed command for all shell apis
As discussed on the pve-devel list [0] I extracted the identical chunks from each
shell api into one function as basis for future changes.

[0] https://pve.proxmox.com/pipermail/pve-devel/2019-January/035387.html

Signed-off-by: Tim Marx <t.marx@proxmox.com>
2019-02-28 11:32:18 +01:00
Thomas Lamprecht
f9d26e098f trailing whitespace fix in Nodes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-02-27 13:39:32 +01:00
Oguz Bektas
e50456078b fix #1769: restart mode for bulk lxc migration
online mode doesn't work, and causes bulk migration of
running lxc containers to fail.

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
2019-02-19 11:53:15 +01:00
Thomas Lamprecht
017bb1a8bd minor typo fix and code cleanups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-02-08 15:26:44 +01:00
Alwin Antreich
3c6aa3f47e api osd/destroy: use ProcFSTools to iterate mounts
Instead of opening proc/mounts through IO::File directly for parsing,
the patch uses ProcFSTools. This way it also takes care of eventual
decoding.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2019-02-08 15:26:00 +01:00
Thomas Lamprecht
e45cc727e6 follouwp: code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-02-08 15:26:00 +01:00
Alwin Antreich
b436dca874 Fix #2051: preserve DB/WAL disk on destroy
When destroying an OSD over API or CLI, e.g. by executing:

'pveceph osd destroy <num> --cleanup'

all disks associated with the OSD got wiped with dd, which included
any shared and by others still in use ones, e.g., separate disks with
DB/WAL.

The patch changes 'wipe_disks' to wipe the partition instead of the
whole disk.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-02-08 14:20:23 +01:00
Thomas Lamprecht
dd6b2e5742 remove unused libxml-parser-perl dependency
over from the time where corosync was still bnased on XML configs
(pre PVE 4.0). This was not used, and XML::Parser is not Export
based, so it does not pushes some methods into the using modules
namespace

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-01-31 12:02:55 +01:00
Thomas Lamprecht
7d762f4cc0 cleanup: api/subscription: keep variable declarations closer to use
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-01-31 10:54:50 +01:00
Dominik Csapak
7d6fba8fff api/subscription: fix permission check
when using 'check_permissions' directly, we have to actually use the
nodename in the path, else we check the wrong permission and one
needed to have propagating 'Sys.Audit' permissions on '/nodes' for
this to work.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-01-31 10:52:38 +01:00
Christian Ebner
5aa7b909b1 Add bash completion for wakeonlan API call
This adds the bash completion for the wakeonlan API call.
The bash completion returns only those nodes which are offline according to the
member status.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
2019-01-28 17:28:34 +01:00
Fabian Grünbichler
f6faf09cbf task index: fix return schema annotations
both task sources use PVE::Tools::upid_decode, which ensures all of the
':' delimited fields are set.

this only leaves 'status' and 'endtime' as optional, which are not set
for currently running tasks.

reorder them in the code for easier matching with their on-disk format.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Acked-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-01-23 18:42:59 +01:00
Fabian Grünbichler
8dacbee3e2 task index: allow filtering by task type
convenience filter if caller is only interested in certain actions

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-01-23 18:42:59 +01:00
Fabian Grünbichler
32388c4128 task index: allow selection of task source(s)
otherwise there is no way to find out about (all) active tasks over the
API if their UPIDs were not recorded when the initial API calls happened.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-01-23 18:42:59 +01:00
Thomas Lamprecht
ec1788043c api/wakeonlan: add description to return schema
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-01-22 12:19:07 +01:00
Christian Ebner
0f615ea9df pvenode: Return MAC address used for WoL call on success
Use the new format to verify the MAC addresses.
The wakeonlan API call now returns the MAC address of the node to wake on
successful sending of the WoL packet.
pvenode finally displays this MAC address to the user as feedback.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
2019-01-22 12:05:47 +01:00
Thomas Lamprecht
824369963b wakeonlan: we cannot wake ourself
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-01-21 16:49:34 +01:00
Christian Ebner
6f712496d8 Nodes: Check if target node even exists before sending WOL packet
Checks if the specified target node even exists before trying to read its MAC
address from the config and sending the wake on LAN magic packet.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
2019-01-21 16:22:12 +01:00
Christian Ebner
b3d8454221 implement basic wake on LAN functionality
Provides the basic functionality to provide a wake on LAN feature implementation
to start nodes in a cluster from other nodes.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
2019-01-17 11:15:01 +01:00
Thomas Lamprecht
9fdfebf743 allow 8-way NUMA systems
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-01-11 10:21:55 +01:00
Fabian Grünbichler
742d2ad20e fix #1997: set taskid for single-guest backups
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-01-03 09:17:38 +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
be7edba15d ceph: move mgr create/destroy to Ceph::Services
and adapt the paths and callers

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
27439be616 ceph: move service_cmd and MDS related code to Services.pm
Also adapts the calls to the relevant subs.

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
Dominik Csapak
c31f487e7a ceph: use cfs_read/write_file for ceph.conf
The parser is now registered, and ceph.conf is a tracked file in pmxcfs.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-12-20 09:44:01 +01:00
Thomas Lamprecht
c56d75b4b6 fixup: whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-12-13 10:15:46 +01:00
Tim Marx
1aa902ae90 ceph api: added check for /etc/pve/ceph.conf to remaining/new endpoints
Signed-off-by: Tim Marx <t.marx@proxmox.com>
2018-12-13 10:14:39 +01:00
Thomas Lamprecht
6ad70a2bb8 ceph: update all pg_num defaults to 128
As the last patch missed a few places. see pg calc or also:
http://docs.ceph.com/docs/luminous/rados/operations/placement-groups/

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-29 12:36:25 +01:00
Alwin Antreich
ba454377ad Raise the default pg_num to 128
PGCalc and the ceph recommendation say 128 PGs for up to 5 OSDs

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2018-11-29 12:19:22 +01:00
Thomas Lamprecht
1343ae6db5 fixup: s/wipe_disk/wipe_disks/ as we can to multiple at once
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-28 10:30:58 +01:00
Alwin Antreich
456a7f4d34 Factoring the wipe_disk out into CephTools
Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2018-11-28 10:25:16 +01:00
Thomas Lamprecht
c5a0a1e449 ceph: fixup s/add_storage/add-storage/
it's just the nicer interface and we want to go away from underscore
usage in new calls

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-28 10:07:08 +01:00