Commit Graph

457 Commits

Author SHA1 Message Date
Dominik Csapak
c93bc1a1de ACMEv2 order "ready" status update
since letsencrypt updates their implementation to the ACMEv2 spec [1],
we should correctly parse the order status

1: https://community.letsencrypt.org/t/acmev2-order-ready-status/62866

note that we (for now) try to be compatbile to both versions,
with and without ready state, this can be changed when all letsencrypt
apis have changed

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-25 10:42:17 +02:00
Thomas Lamprecht
5e44c7e114 api/tasks: explicit import raise_param_exc
we inherited the import from PVE::RESTHandler but may want to get rid
of it there. So explicitly import it here.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-18 11:07:46 +02:00
Dominik Csapak
16e393ab22 let all users retrieve the directories and tos for acme
else all non-root users get an empty dropdown box for the directories
and get no feedback why that is

with this, they can select it, but ultimately get an api error if the
permissions are not sufficient

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-04 17:34:53 +02:00
Dominik Csapak
bed7626a5f api/acme: fallback to default for account name parameter
We defined 'default' as fallback default value for the optional
pve-acme-account-name standard option but did not honored that.

Thus we got a perl error ($account_name not defined) if we did not
passed a name. Fix that by actually falling back to 'default' in this
case.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-04 17:33:51 +02:00
Dominik Csapak
3d0fcc467a correct node free calculation
avail - used is wrong
total - used = free

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-14 11:54:16 +02:00
Fabian Grünbichler
036475f89a add certificates API endpoints
to allow retrieval of certificate information, and uploading or removing
of custom certificate files.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-05-02 11:34:52 +02:00
Fabian Grünbichler
9945a5018e add ACME certificate API endpoints
for creating/ordering a new certificate and renewing respectively
revoking an existing one.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-05-02 11:34:52 +02:00
Fabian Grünbichler
5c3fd6ace6 add ACME account API endpoints
for registering, updating, refreshing and deactiving a PVE-managed ACME
account, as well as for retrieving the (optional, but required if
available) terms of service of the ACME API provider / CA.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-05-02 11:34:52 +02:00
Fabian Grünbichler
c4f78bb7c6 add node configuration file and API
this currently only contains a description and the node-specific ACME
configuration, but I am sure we can find other goodies to put there.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-05-02 11:34:52 +02:00
Fabian Grünbichler
ee94b16ae5 pveversion: use AptPkg::Version, not Dpkg::Version
to avoid an extra dependency

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-02-16 15:06:28 +01:00
Fabian Grünbichler
0459599d1a pveversion: sort kernel packages by version
instead of lexically by package name

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-16 11:17:00 +01:00
Thomas Lamprecht
a7a65b028d APT API: versions: add new pve packages
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-15 10:49:47 +01:00
Thomas Lamprecht
c861591b4e APT API: versions: split up long line and refactor
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-15 10:49:47 +01:00
Dominik Csapak
341422727c add 'service' parameter to syslog api call
so that we can filter the journal by service

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
5b46e4322e correct the upgradecmd for xtermjs
use the pveupgrade command directly without bash inbetween,
the incorrect quoting led to '--shell' not being passed to
pveupgrade and closing the connection

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-18 10:05:54 +01:00
Wolfgang Bumiller
af344184a8 cleanup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2017-12-14 09:07:00 +01:00
Wolfgang Link
64d39c2ef2 Send an email when a replication job fails.
A email notification will be send for each job when the job fails.
This message will only send when an error occurs and the fail count is on 1.

Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2017-12-13 14:51:07 +01:00
Wolfgang Link
c874209657 Indentation cleanup.
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2017-12-13 14:51:07 +01:00
Dominik Csapak
4b168c2772 add termproxy api call for nodes
and add dependency for pve-xtermjs

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-12-12 08:34:07 +01:00
Thomas Lamprecht
69bbb88541 api: nodes/subscription: implement reasonable access rights
Allow users which have Sys.Audit on a specific node to get the
subscription status and those with Sys.Modify to set and check
(update) it.

This mirrors the required permissions from other node specific
actions, e.g., APT (package management).

We always showed the Subscription Panel and all its elements in the
WebUI, so no need for change there.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-12-12 07:52:18 +01:00
Fabian Grünbichler
9f4ff79860 pveceph: add missing use statement 2017-11-30 11:31:35 +01:00
Thomas Lamprecht
9aad4e2e79 ceph: create mon: fix & improve check if IP is in public net
If a CIDR gets passed to Net::IP it is expected to not be from the
middle of  an subnet, i.e., 192.168.1.12/24 is *not* OK but
192.168.1.0/24 would be OK.

As the Network/interfaces files also accepts CIDR notation for the
'address' param (now also for IPv4) this let to problems in our node
monitor IP detection code, which used the interface file and Net::IP to
find any address from the ceph public network.

So change to our newer helper PVE::Network::get_local_ip_from_cidr to
get all configured and ready (=up) IPs from this network.

Also handle the case where multiple networks where returned, add a
parameter to allow specifying one of those and ask the user to do so.

If no public network is configured and no mon-address parameter was
passed, we fall back to the remote node IP of the node, as was done
previously. We expect that the user only overwrites the mon-address
if he knows what he do and omit checks here.
2017-11-28 16:46:31 +01:00
Thomas Lamprecht
68f4def420 ceph: create pool: check for quorum at start
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-11-28 16:13:50 +01:00
Emmanuel Kasper
16efab9e10 Add each host SSL fingerprint to each node status
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-11-28 16:13:50 +01:00
Thomas Lamprecht
8ad1127a16 fix #1578: api/resource hastate: fallback to resource cfg state
With ignored or still queued services we have no hastate for a
service in the manager status available.

As we use hastate in the web UI to determine if a service is
configured for HA this could lead to confusion there.
For example, the VM/CT 'Manage HA' window thinks tries to add the
service again if its in the 'ignored' state, and then the backend
errors out because it is already configured.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-11-28 15:59:58 +01:00
Dominik Csapak
cb1b1712c4 make ssh connection transparent
do not use an escape character for the host shell

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-17 10:37:31 +01:00
Alwin Antreich
dae96e48dc Fix: #1542, use percent_used key instead of calculation
Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2017-10-31 08:21:32 +01:00
Dominik Csapak
815a2bc1a7 make bluestore the default on the api
with this we also have to send '0' to from the frontend, when the
bluestore checkbox is not checked

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-10-20 12:01:41 +02:00
Fabian Grünbichler
8ccae777f0 ceph: disable OSD unit in destroyosd
while OSDs units should only be runtime enable and disappear on reboots,
this serves as an additional safeguard to ensure no leftover units can
exist.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-10-10 12:17:17 +02:00
Fabian Grünbichler
f4fe197db4 ceph: correctly parse 'pg dump' output
Reported-By: Waschbüsch IT-Services GmbH <service@waschbuesch.it>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-10-10 12:16:43 +02:00
Dietmar Maurer
43fc27a4ec PVE/API2/Subscription.pm - use new PVE::Subcription class 2017-10-03 12:54:29 +02:00
Wolfgang Link
0d083f4b27 Clean up unnecessary code.
The jobid is already parsed by the file parser.
2017-09-25 15:45:28 +02:00
Dominik Csapak
1fb090840d ceph: do not automatically use wal if only journal is given
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-09-07 12:35:14 +02:00
Fabian Grünbichler
0a521b6634 ceph/destroypool: move image check into worker
vdisk_list can potentially take very long, and we don't want
the API request to time out.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
8c42620460 ceph: make create/destroypool API paths async
in order to get task log entries and easily accessible
task/error logs.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
c75f019a55 ceph/destroypool: refactor to use get_storages
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
f6144f3493 ceph/destroypool: optionally remove storages
only storages which don't have the 'monhost' option set are removed

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
60811ad7eb ceph/createpool: optionally add storages
introduce new API parameter 'add_storages'. if set, one
storage each is configured using the created pool:
- for containers using KRBD
- for VMs using librbd

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
0c0d43a7cc ceph: create/destroypool: shorten variable name
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
f4aae93bbf ceph: add get_storages helper
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
ae672a64ce ceph: add add_storage helper
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
e16cd81fb5 pveceph/init: improve version check error message 2017-08-25 14:16:09 +02:00
Alwin Antreich
c64c04dd39 implement checks for ceph version & binaries
add version check to ceph init to require luminous or higher and
fix #1481: check existence of ceph binaries before use

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2017-08-25 13:46:42 +02:00
Dominik Csapak
6c11e92154 ceph: add application parameter to createpool
and use 'rbd' by default, since we cannot create a cephfs or
rgw from the gui currently

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-08-10 09:38:29 +02:00
Dominik Csapak
6747b0a903 ceph: make size 3/min 2 default with createpool
in the gui this is already the default, so make it also the default
in the backend (also 2/1 is really bad as a default)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-08-10 09:38:29 +02:00
Dominik Csapak
4d422ffc3e add bluestore information to osd api call
this adds information about bluestore (which devices and if
bluestore/filestore) to show in the gui

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-08-07 14:52:02 +02:00
Dominik Csapak
c9508b5d4c also get the crush rule name in the ceph pool list
we get the names in the backend, and give them as an additional field
in the api call, and use it in the grid

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-31 15:25:34 +02:00
Dominik Csapak
d2692b86e2 fix #1465: use a combobox for the crush rule instead of the id
this patch does a few things

1. we introduce a new api call /nodes/nodename/ceph/rules
   which gets us a list of crush rules

2. we introduce a new CephRuleSelector which is a simple combobox
   with the data from the api call ceph/rules

3. we use this in the create pool window

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-31 15:25:34 +02:00
Dominik Csapak
2db28c036e make crush rules working again
since ceph 12.1.1 the (deprecated) parameter 'crush_ruleset' is removed
and replaced with 'crush_rule' while changing this, change from
integer to string so that we can later use the names of the rules
instead of the id

(for now there seems to be a bug that you can only use the name and
not the id)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-31 15:25:34 +02:00
Dominik Csapak
33a7e15766 add osd device class to osd tree
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-31 15:25:34 +02:00