Commit Graph

3280 Commits

Author SHA1 Message Date
Dominik Csapak
aa74e838e8 remove (near)full status for storages
since this is not a good default, we do not want the user
to have to configure those limits for each storage, and
a warning triangle was confusing for multiple users,
we remove this again

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2017-12-13 14:51:07 +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
d345d7ad5d add xtermjs to consolebutton
also rework the button.
move most things in the static configuration

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-12-12 08:34:07 +01:00
Dominik Csapak
9f02743e08 add xtermjs flag to VNCConsole iframe
so that we can open an xtermjs iframe instead of novnc

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-12-12 08:34:07 +01:00
Dominik Csapak
c6b2336c3f add new xtermjs viewer window to Utils
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-12-12 08:34:07 +01:00
Dominik Csapak
03f09f9ab0 add xtermjs to pveproxy dirs
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-12-12 08:34: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
6a21d936ec bump version to 5.1-39 2017-12-11 15:35:22 +01:00
Thomas Lamprecht
46095dd4a5 Fix #1589: auth_handler: raise exception on init_request error
cfs_* methods cann now die (rightfully so) when the IPCC endpoint is
not connected, or another grave IPCC error arised.

As we did not catch those problems in the RPCEnvironments
init_request method, which loads the user config, this got
propagated to the anyevents auth_handler call in its
unshift_read_header method where then all errors where processed in
the same way => with an unauthorized response logging an logged in
user out.

So catch this error and raise an internal server errror exception
instead. Anyevent needs some minor modifiaction in a separate patch
to handle PVE::Exceptions correctly, so this is the partial fix for
bug #1589

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-12-11 14:53:18 +01:00
Emmanuel Kasper
ff5a8a9b44 Add a proper confirmation message when we detach an used disk
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-12-04 12:02:47 +01:00
Emmanuel Kasper
877fce5419 Fix #1526: Use 'detach' instead of 'remove' when the disk is used
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-12-04 12:02:47 +01:00
Emmanuel Kasper
72408db913 Fix JSLint type confusion warnings
The type confusion warnings arose from string and integer concatenation,
and object properties of the name which were alternatively set with
strings and integers.

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-12-04 12:02:47 +01:00
Fabian Grünbichler
48f65bb454 add versioned dependency on libpve-storage-perl
for API changes needed for new DiskSelector
2017-11-30 11:40:03 +01:00
Fabian Grünbichler
9248857d28 bump version to 5.1-38 2017-11-30 11:36:30 +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
Wolfgang Bumiller
0628b7355c bump version to 5.1-37
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2017-11-28 16:42:55 +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
1ca8a8f20a Do not translate Unix/Linux specific terms
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-28 11:26:40 +01:00
Emmanuel Kasper
0464b05279 Do not translate PC hardware specific terms
The SKU (Stock Keeping Unit) field was never translated anyway in our po files,
probably because nobody knew what the initials meant.

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-28 11:24:52 +01:00
Emmanuel Kasper
a1af3e3842 Do not translate Qemu specific terms
Multiqueue is the proper name as used by Qemu, as seen in
https://www.linux-kvm.org/page/Multiqueue

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-28 11:24:52 +01:00
Emmanuel Kasper
a29ff1bce4 Do not translate IT specific terms
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-28 11:24:52 +01:00
Emmanuel Kasper
381828a192 Do not translate PC hardware specific terms
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-28 11:24:52 +01:00
Emmanuel Kasper
838258a3ee Do not translate Ceph specific terms
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-28 11:24:52 +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
Thomas Lamprecht
f33f0a0fa1 access log rotate: try to reload not restart services
with the use of systemd the /etc/init.d/pveproxy restart call got
intercepted and redirected to systemd, which did an restart.
But, that is a behvaior change to the intention of the init.d script,
which would not restart but reload the service.
Thus change this to systemds equivalent:
systemctl try-reload-or-restart pveproxy.service

Which tries to reload, if the unit supports it, and only if that does
not worked it restarts.

Same for spiceproxy.

Reported-by: Stefan Priebe <s.priebe@profihost.ag>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-11-14 14:08:52 +01:00
Wolfgang Bumiller
8bbf53d332 buildsys: add excludes to dh_fixperms
Instead of fixing up permissions manually as the make
install target is actually responsible for this (and already
doing it).

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2017-11-14 14:06:51 +01:00
Dominik Csapak
ff5fcc8a54 remove unecessary semicolons
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:07 +01:00
Dominik Csapak
0c686caccd whitespace cleanup
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:07 +01:00
Dominik Csapak
4dbc64a786 improve tree/grid icons
we improve the icons in the tree and the resource grid by
differentiating between cluster online/offline status and no rrd data

when we have no rrd data from a node/storage, instead of showing a
red x (which is scary) even if the node is reachable by corosync (which
confused quite a bit of people, because we show all nodes as online in
the datacenter summary), we show the node/storage with a '?'

this signals that something is wrong with this node, even if we can
reach it via cluster methods

this rewrite of the logic includes a refactoring of the method
of getting the icon, because we want the same icons in the tree and the
grid, and an optimization on how we use the css classes
(introducing a x-grid-custom-icon class)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:07 +01:00
Dominik Csapak
2fa8270b21 add new tree and grid classes for the 'unknown' status
this displays a '?' similar to the check/cross, to show something
is wrong, but we do not know if its offline

also cleanup the classes a bit, so we do not have to have so many
different ones

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:07 +01:00
Dominik Csapak
03f18f5e0b add a new status column in the resourcestore
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:07 +01:00
Dominik Csapak
30cdb0ca1b add default 'unknown' status for vms and containers
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:07 +01:00
Dominik Csapak
88466808a0 include a 'status' field for storages
by default it is unknown, if the storage is >= 60% full, it is
'nearfull', if it is >= 90% full, it is 'full'

if we have any other information, it is 'available'

we can use this information for the tree

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:07 +01:00
Dominik Csapak
b67e63988a add status to node stats
by default it is unknown,
if it is a standalone node its online
else it is either 'online' or 'offline' depending on the corosync status

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:07 +01:00
Dominik Csapak
4d8a345568 reset FileSelector grid when changing the storage
otherwise, when the new storage returns an error, we show the content
of the old storage

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
234d2e37b7 use DiskStorageSelector in lxc/MPEdit.js
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
fb71c9a595 use DiskStorageSelector in qemu/HDMove.js
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
1490ff3d7e use DiskStorageSelector in qemu/Clone.js
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
c56689d0dd use DiskStorageSelector in qemu/HDEfi.js
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
771aec961f use DiskStorageSelector in qemu/HDEdit.js
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
342225bfda move lxc mountpoint edit from ResourceEdit.js to MPEdit.js
to follow qemu code

also fix the jslint errors in MountPointInputPanel and MountPointEdit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
acd0d10a2a add new DiskStorageSelector.js
this is a wrapper for selecting a storage/disk image

it is a simple container with 4 form fields inside
which can be reused, whenever we need to select a storage for a disk,
image etc.

we have code similar to this four times already
(qemu image creation, lxc mp creation, qemu cloning, qemu efidisk
creation)

so it was time to refactor this and use the storage information from the
backend instead of hardcoding values in the frontend

for this we need to pass the format=1 parameter to the storage api call,
and to not load the fileselector when it is initially disabled

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Emmanuel Kasper
c2d4185b1d Fix #1523: Display the Max Backups field only if relevant
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-07 09:35:45 +01:00
Emmanuel Kasper
a7664d88d6 Add Storage Controller class
This controller will display the 'Max Backups' field only if the storage can
hold backups.

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-07 09:35:45 +01:00
Dominik Csapak
54165ad3ce add ver get parameter for js/css files to improve cache behaviour
we do not set an Expire header for our js files, and certain browsers
do not even make the request then (on which we would answer
with a correct 304 not modified)

so to force the browser to load a new version of the gui when we change
something, we add the package version as a get parameter

when doing this, the browsers still cache the file, until the get
parameter changes, which is exactly what we want

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-11-07 08:55:02 +01:00