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>
This adds a context menu entry to the cluster nodes which triggers the wake on
LAN API call for the selected node.
The entry is disabled if the node is already running or the user has no
Sys.PowerMgmt capabilities.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
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>
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>
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>
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>
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>
instead of having two inputfields and displayfields (where only one gets the
correct value), have two inputfileds but one displayfield when we need it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Adds a CLI call interface to pvenode which allows to wake sleeping nodes in a
cluster via a wake on LAN packet.
pvenode wakeonlan <node>
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
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>
Add pattern support for the check_type method used by the
parse_config method. It would be much better to integrate the missing
stuff into either the JSONSchema check_prop or parse_config methods,
should be mostly the "description" assembly anyway, and if that is
not possible or to hacky it'd be still nice to have a common single
of those parser, not multiple ones (pve-container, qemu-server, ...)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Checks that the handler for the API call even exists before verifying the
parameter schema. By this the reported error message is more descriptive.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
since numbers can also be in '1.e-10' format, we have to change
how we check for a number
Scalar::Util is already core and we use it in PVE::Tools, so
no new dependecy.
in case of "NaN" or "Infinity" we omit the key/value pair
else we quote like before
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
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>
Most other storage types do not have backup in their default content
selection when creating a new storage, so there it make sense to
initially have maxfiles disabled. But with CephFS we have default
_only_ backup as content type, so let it enabled here - as else one
must change something in the content selector to enable the field.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
While we can allow them via the apparmor profile, they still
won't be usable as the kernel doesn't have FS_USERNS_MOUNT
set on those.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>