Commit Graph

4813 Commits

Author SHA1 Message Date
Fabian Ebner
a6ebb96d7c Warn about file system state when a freeze would be needed, but isn't possible
If a snapshot of a running VM is taken and the RAM is not included, the backend
checks whether the QEMU Guest Agent is running inside the VM. If it is, it freezes
the file system, otherwise the snapshot is taken without freezing, which
could lead to an inconsistent file system state in the snapshot.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-02-06 22:31:39 +01:00
Fabian Ebner
7fb02366e0 Hide 'Include RAM' when VM isn't running
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-02-06 22:31:39 +01:00
Fabian Ebner
85b4f3cc12 Use 'isCreate' instead of 'snapname' to determine window layout
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-02-06 22:31:39 +01:00
Fabian Ebner
1952d3d953 Fix error message
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-02-06 22:31:39 +01:00
Dominik Csapak
c16c13020d gui: tree/SnapshotTree: fix gettext invocation
our gettext extractor cannot handle such statements to extract the
gettext, so change it to two gettexts

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-02-05 20:23:17 +01:00
Dominik Csapak
cf0d139ea3 gui: increase scsi value to that in the backend
we now can have 31 scsi disks, so show/allow them in the gui

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-02-05 10:03:05 +01:00
Dominik Csapak
29bfee7bb2 gui: do not allow to edit 'special' roles
since any change to them is currently silently ignored by the backend
and should result in an error anyway

partially fixes #2575

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-31 20:38:28 +01:00
Thomas Lamprecht
acddfb9bd9 ui CT Features: add checkbox for new "allow mknod device creation in CT"
note that it's experimental..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-31 20:37:46 +01:00
Thomas Lamprecht
68c86905f9 ui LxcFeaturesEdit: refactor+cleanup and make slightly wider
Avoid the initComponent, just use autoLoad.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-31 20:35:40 +01:00
Thomas Lamprecht
561020ecfd bump version to 6.1-7
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-30 20:32:03 +01:00
Thomas Lamprecht
87ae19d1ee ui snapshot tree: avoid another exception in delayd load when view is gone
similar story than commit 9cc4958f5a
We cannot really assert anything about the state of me (the view) and
consorts if me.destroyed is true, just early return.

We can get here because this is a delayed task, i.e., async,
everything can happen in between triggering it and receiving the
actual callback, so guard!

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-30 20:06:16 +01:00
Thomas Lamprecht
9cc4958f5a ui snapshot tree: avoid exception in delayd load when view is gone
If one switched through guest fast (e.g., keeping the down-arrow key
pressed) while staying on the snapshot panel, it could happen that
the previous view got already destroyed once the success callback of
the feature API request got executed.

Then the ExtJS ViewModels' set method got a "null" back from its
me.getStub(...) call, and tried to access members of that, resulting
in a TypeError exception.

Avoid that by checking if we're already destroyed or still around
before doing that call. During the time we are already in the
callback we shouldn't be able to get destroyed in parallel due to JS
single thread nature and no yield point here, so this is safe.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-30 19:43:20 +01:00
Thomas Lamprecht
37a48e7423 ui snapshot: improve template string usage
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-30 19:42:21 +01:00
Thomas Lamprecht
e1af138576 ui snapshot tree: add label when no new snapshot is possible
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-30 19:42:02 +01:00
Thomas Lamprecht
b9c780c5a8 ui snapshot tree: express formulas more concisely
Use arrow functions to bring them in a more simple boolean expression
style. Further, we can reuse the "isSnapshot" formula in the
"canRollback" and "canRemove" ones.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-30 19:34:35 +01:00
Thomas Lamprecht
9a6b894fcc ui: follow up style fixes, don't cram expressions into one line
We do not want to have multiple expressions on the same line, if it'
really is an exception.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-30 19:31:54 +01:00
Dominik Csapak
b06d011e31 fix #2572: gui: make snapshot panel visible for VM.Audit
with the now rewritten panels, this works as expected

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-30 18:01:38 +01:00
Dominik Csapak
5b1b9360eb gui: refator SnapshotTree
using the better View, ViewModel, Controller style,
while doing this, make it generic so that we can use it for qemu and lxc

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-30 18:01:38 +01:00
Dominik Csapak
4e0e6b77e9 gui: refactor snapshot window
using an Proxmox.window.Edit, which does many of the things we did
manually, also rewrite is in such way that we can use it for qemu
and lxc

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-30 18:01:38 +01:00
Thomas Lamprecht
a76a8a7d3f ui dc: move cluster name info into join button
Avoids another textfield while still giving the information to the
user.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-30 16:08:10 +01:00
Stefan Reiter
003e502f87 gui/cluster: show cluster name from joinInfo in join dialog
To help a user identify if they put in the joinInfo for the correct
cluster.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-01-30 15:13:01 +01:00
Stefan Reiter
63584726fc gui/cluster: validate cluster name length on create
API limits this to 15, validate in GUI as well for instant user
feedback.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-01-30 15:13:01 +01:00
Thomas Lamprecht
96ed94ad6f ui: fix disk controllers sortByPreviousUsage iteration
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-30 13:38:31 +01:00
Thomas Lamprecht
4415d038c0 bump version to 6.1-6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-29 21:29:00 +01:00
Fabian Grünbichler
98d4857044 www: add permissions button to userview
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-01-29 10:41:08 +01:00
Fabian Grünbichler
a901f94a2c api/tasks: attribute token tasks to user
and store token ID in separate, currently unused member.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-01-29 10:28:16 +01:00
Thomas Lamprecht
4c32d77c2a d/control: bump version dependencies for libpve-http-server-perl
For new auth extract helper support

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-29 10:27:06 +01:00
Fabian Grünbichler
9a5a1655f1 pveproxy: use new cookie extraction method
we only care about the regular cookie case for the index.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-01-29 10:27:06 +01:00
Thomas Lamprecht
0717cf78a4 d/control: bump version dependencies for pve-common
For allowtoken property support in schema

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-29 10:26:57 +01:00
Fabian Grünbichler
7af404b201 rest_handler: implement 'allowtoken' property
to filter out API paths that are not available with API tokens for
security reasons, such as access control related endpoints.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-01-29 10:26:57 +01:00
Thomas Lamprecht
a589aab35e d/control: bump version dependencies for pve-access-control
for API token verification support.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-29 10:26:31 +01:00
Fabian Grünbichler
84811327a8 auth_handler: handle API tokens
by verifying them via pve-access-control, as alternative to regular
tickets.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-01-28 21:14:51 +01:00
Fabian Grünbichler
88ac19dd58 www: add 'users' columns to Groups model
it's useful information that now gets returned by the API, so might as
well display it.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-01-28 20:57:37 +01:00
Wolfgang Link
5b25580d88 Protect the user's tfa key setting.
If oath or U2F is set, it should not be possible to change it
in the GUI on the user edit window.
It disables the second factor, but leave the tfa key behind
in the file tfa.cfg.
The key in the tfa.cfg file is a problem when the user tries to recreate a key.
The old key must be deleted before a new one can be created.
2020-01-28 13:46:54 +01:00
Thomas Lamprecht
aa85713036 manager: startIPStore: status can be null/undef
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-27 19:09:10 +01:00
Alexandre Derumier
9d2e1c8b6e API2: Network: add vlan-raw-device && vlan-id options.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-25 16:02:06 +01:00
Dominik Csapak
67847d54fa gui: qemu: HardwareView: improve button disable code
this improves following behaviours:
* do not loop over items multiple times
  (we iterated one time extra for efidisk)
* do not check every item for cloudinit
  (we even checked non-disk types)
* make the counts more generic using an object
* also disable cloudinit button when you have one pending
* also disable serial/net button when at limit or the user has
  not the right priviliges

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-24 10:10:48 +01:00
Dominik Csapak
9d8553982d gui: qemu HardwareView: specify hardware counts in Utils
this also fixes the issue that we only showed 4 hostpci devices in
the gui despite raising the limit in the backend to 16

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-24 10:10:48 +01:00
Thomas Lamprecht
ca0e7e802c ui: controller selector: use OSDefaults.getDefaults
it does the fallback for us already

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-24 10:10:48 +01:00
Thomas Lamprecht
c7139315e8 ui: controller selector: refactor and cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-24 10:10:48 +01:00
Thomas Lamprecht
8c4ec8c711 ui: avoid duplication of guest disc controller maxIDs definition
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-24 10:10:48 +01:00
Thomas Lamprecht
a22fc39f09 ui: FW/Alias: whitespace/indentation fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-22 12:40:35 +01:00
Thomas Lamprecht
c10fabfe26 ui: FW/Alias: make grid flex
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-22 12:40:15 +01:00
Thomas Lamprecht
09b3292ec6 ui: FW/Alias: make edit window wider to fit IPv6 CIDR
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-22 12:39:58 +01:00
Stefan Reiter
00b58c8c35 Broadcast supported CPU flags
pvestatd will check if the KVM version has changed using
kvm_user_version (which automatically clears its cache if QEMU/KVM
updates), and if it has, query supported CPU flags and broadcast them as
key-value pairs to the cluster.

If detection fails, we clear the kv-store and set up a delay (120s), to not
try again too quickly.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-01-14 11:59:48 +01:00
Thomas Lamprecht
300c0f736b fix #2552: ui: allow to collapse notes panel from guest summary
Allow to collapse and expand the "Notes" panel on the virtual guests
summary panel.

Further add a browser setting to control the default behavior, one
can chose from:
 * expand on show (default)
 * collapse on show
 * collapse if there are no notes

This way users can make slightly better use of the available screen
space for the guest status.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Co-developed-by: Stefan Reiter <s.reiter@proxmox.com>
2020-01-14 11:13:42 +01:00
Thomas Lamprecht
a6ed0aa605 network reload: check if recent enough PVE ifupdown2 version is present
We need a recent version *and* our patches on top of the vanilla
ifupdown2:
0001-don-t-remove-tap-veth-fwpr-interfaces-from-bridge-on.patch
0004-don-t-remove-bridge-is-tap-veth-are-still-plugged.patch

So check for at least 1.2.8 and the pve string in the version output.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-14 11:00:26 +01:00
Alexandre Derumier
94011309e2 api2 : network : add mtu
min 1280 to handle ipv6 && ipv4
max 65520 (infinibad support it)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-11 17:22:46 +01:00
Alexandre Derumier
7942a7bb5b api2: network: add bond-primary option
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-11 17:22:46 +01:00
Alexandre Derumier
311b67c75c ifupdown1: bridgevlan: add bridge-vids list support
like ifupdown2, support multiple values

iface vmbr0
   bridge-vids 2 4 5-10 70

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-11 17:22:46 +01:00