IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
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>
makes no sense to have the, more or less, exact same 25 line method 5
times..
could be moved to widget TK, but that's for another time.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This allows to select the tri-state (enforce on, enforce off, default
from QEMU+CPU Model) for each CPU flag independently.
For this a grid with a widgetcolumn is used hosting tree radio
buttons for each state. They're marked '+' for enforce on, '-' for
enforce off and the default has no label, as it isn't easy to add in
such a way that it does not confuses people and does not looks
completely ugly.. But, to help people which have a hard time figuring
out what the states mean, a fake column was added showing the current
selected state's outcome in words.
For show casing the new nice interface add all currently supported
flags from out API-
It could be worth to add some selected CPU model awareness, so that
flags are only enabled if they can make sense with the selected
model. But one should be able to add this relative easily with this
as base.
The hardcoded flag lists is not ideal, we should try to generate this
in the future, but here already qemu-server is lacking and this is
rather independent of the fact and can be done later one just fine
too.
Note that this /is/ an *advanced* feature so not visible for all
directly, while I try to document in short what a flag does it surely
isn't perfect and to short to explain all nuances, they should give
enough pointers to know if it's relevant at all (amd / intel cpu) and
for what one should research
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 92572ead6d)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this is an abstraction for listing Ceph Services with a few improvements:
* start/stop/restart buttons for all services (incl. icons)
* a syslog button to view the syslog of that service
* correct reloading behaviour when creating/destroying
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
as already announced over two months ago[0], remove the unofficial
SheepDog plugin now completely. Besides that it was never fully
supported in Proxmox VE one of its main developer and ex-maintainer
declared it as abandoned[1], and thus just let's remove it, git
allows to resurrect it any time if a wonder happens anyway.
[0]: https://pve.proxmox.com/pipermail/pve-user/2019-March/170497.html
[1]: http://lists.wpkg.org/pipermail/sheepdog/2019-March/068449.html
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Used for a new Panel in ceph dashboard, shows the ceph services
managed by us (mon,mgr,mds)
some code is copied from 'ceph/StatusDetail.js' and is not necessary there
anymore
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
contains the inputpanel for the coming system tab in the vm creation
wizard, where the user can configure the vm system hardware like
the scsi controller, display, etc.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This warns the user that the datacenter firewall is disabled when editing the
host or the VM/CT firewall status.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
this patch adds the PCIEdit window and InputPanel uses PCISelector
and MDevSelector
when we detect an iommugroup of -1, we put a warning on top to inform
the user that IOMMU is not activated (but let him add the devices
regardless, so that he can use it after IOMMU is activated)
also puts a warning if he selects a device that shares an iommugroup
with a different device (but not the same device with different
function). that detection is not perfect, but we cannot do really
better
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Allow to add CephFS storage over GUI. Reuse viewcontroller and model from RBD
to detect if we can do a "hyper-converged" addition (with PVE maintained Ceph)
or if only external is possible.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
but constrain editing to root@pam
give a checkbox (for now) for nfs and cifs, but keep all that are manually set
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Change to agent now being a property_string, and including fstrim_cloned_disks.
Co-Authored-By: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
We show and can remove serial devices but couldn't add new ones
through the WebUI.
Add a simple component to allow adding serial ports backed by a
socket, which can be especially useful now with xterm.js
Passing through serial devices from /dev isn't possible with this, as
it is normally a root only operation and not that often used.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
As given in the subject this implements role create/update/delete over
the manager.
There's currently no coler highlightning for "special" roles.
Signed-off-by: René Jochum <r.jochum@proxmox.com>
this adds the grid for showing the custom/builtin Certificates
and the means to upload and delete custom ones
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this provides the grid for editing domains for letsencrypt,
order/renew the certificates, and the window for creating an
ACME account
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Show configured cluster nodes with their addresses, votes, IDs.
Also show cluster name, config_version, and node count.
Prepares for creating and joining a cluster over the WebUI.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This removes *a lot* of code duplication.
I add a base class for the storage edit window and for its containing
input panel, they implement the shared stuff. Especially the window
was mostly a 1:1 copy...
I look hard for a way to split up this patch, but I did not really
found one which would not generate a lot of work for no value added
(value being 'revertability' and better git history here).
nd actually not too much happens, the same thing happens just over
and over again.
Thus, I've thrown in the dynamic creation of the storage add menu
items here too.
I remove all storage specific Edit windows, they where all just >95%
duplicates of each other.
Special functionallity, i.e. some data deletion/transforming before
submitting gets done with onGetValues.
For the RBD external vs PVE plugin I just added a minimal child class
to RBD which only tells it'S parent that it is the pve one, this is
nice for the mapping and should be easy to understand when reading
the code.
Tried to test an add and an edit of all visible storage plugins,
seems to be OK now.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this adds a new component 'AgentIPView' which
uses the qemu-agent api call to tries to get the ip information for
the guests
only for vms at the moment, since for containers you already
set it on their network tab
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
DisplayEdit did not get a cleanup during our ExtJS 4 to ExtJS 6
cleanup, in fact it was really touched in the last 5 years.
So refactor it to a declarative syntax, at least almost, we keep the
me.load in initComponent, just to much hassle to adress this for now.
Also purge DisplaySelector. It was a component inheriting from
KVComboBox with the possible VGA values as items only used here.
So just use a KVComboBox directly and set comboboxItems directly.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Split PVE specific models, which where not moved to the general
widget toolkit, in a separate folder: data/models/
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
The alias stayed the same (store.diff) so we need to change direct
usage of 'PVE.data.DiffStore' only.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Proxmox.button.Help renamed the css class for the button styling, as
this class is only used rarely and the widget toolkit does not
provides a (shared) css file itself, just rename it here too.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
widget name stayed the same, so no need to change
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
same xtype/alias, so there is nothing to do except remove it from
pve-manager
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
there we implemented deleteEmpty, which we can use in some cases.
this also fixes a bug in the ControllerSelector where
an empty field would be allowed (but should not)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
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>
Extend 'Ext.menu.Item' with a simplified handler logic also used in
'PVE.button.Button'.
If 'confirmMsg' config is set we wrap the defined handler in a
confirm dialog, useful if the menu item just makes an API call and
does not has an own (edit) window shown.
In contrast to the 'pveButton' we do not have a selection model,
enable function and the respective logic here.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Dominik Csapak <d.csapak@proxmox.com>
this patch adds a replication grid, which shows the status/configuration
for the defined replication jobs, and allow them to be
added/edited/removed
in case the replication grid gets shown in the datacenter, we omit the
status fields, because we only have the configuration there
when opening the grid, we check if there are at least two nodes,
because currently we only allow replication in a cluster environment
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this is a freely editable combobox, which shows five usable examples and
their syntax, allowing users to deduct how the syntax works without
reading documentation
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this is neither necessary, nor useful
those files are meant to be read only anyway, so there is no gain in
them being owned by www-data
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
the edit window has 3 radiobuttons (spice,device,port)
and a checkbox for usb3 (which gets disabled and checked
if you choose a usb3 device)
also it makes use of the help feature
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this uses the new vmselector and the new vmid filter in the backend
to allow starting/stopping/migrating selected vms instead of all
by default all vms are selected to have the same default behaviour
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This allows to display a 'CT', a 'VM', or a 'CT/VM' label
to be displayed, depending on the context.
Currently when restoring a CT backup or creating a CT via the
wizard, we are asked to enter a *VM* ID, which is confusing.
this adds a the component ceph statusdetail,
it displays the monitors (+status)
the osd as a table (in/out,up/down)
and the pg states as a list (+number)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a new component 'runningchart', which is a simple linegraph
you define a timeFrame (default 5*60 seconds), and you regularly add
datapoints to it, and the graph shows the last timeFrame seconds of it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a new component health widget, used for cluster and ceph
status
also refactor ceph error levels and ceph status data into PVE.Utils
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a subclass of Ext.form.field.Number with the settings for
Integers (allowDecimals: false and allowExponential: false and default
step size 1)
and use it where we only accept integers
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a guests panel which will show the running/stopped/etc. guests
in the cluster dashboard
to update this, we have to call updateValues with the data
we do this, because in the component above, we will collect the data
after a load event of the PVE.data.Resources store, to avoid going
through this (sometimes large) list more than once
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a dc health panel which will be used in the cluster dashboard
it shows the overall cluster status (or simply ok if no cluster defined)
with a symbol and text
then it shows the number of online and offline nodes
optionally it shows then the overall ceph health
of the connected node
if the api call for ceph fails 3 times, we stop it
the ceph status is hidden by default
for updating the cluster and node status, we have to call
updateStatus as a callback from a store which
loads the /api2/json/cluster/status call
we do not have our own store for this, because we will be using the store
which handles this in the component above
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a gaugeWidget panel, which will be used for the
cluster dashboard
it shows a title, a gauge (a half circle) with the percentage
in the center
over 59% the color is yellow,
over 89% the color is red
also you can add a text to the bottom
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a menu right to the username with an entry 'my settings',
this opens a window with (for now) browser specific settings
and a place to reset them
the plan would be to add password change, 2fa setup etc here
one remark: the reset layout button reloads the window,
to really apply the reset
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
As some Makefiles in sub directories do not implement the distclean
target, namely:
PVE/Service/Makefile
PVE/CLI/Makefile
This target is broken.
As all other implementations just redirect to the 'clean' target I
do not implement the missing ones but rather remove all such
targets. Keep it just in the top level directory, for consistence
sake with other pve repos, and redirect it there directly to the
clean target.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this adds a new button "efi disk" to the
qemu hardware add menu
this is only enabled if the vm has ovmf enabled and
no active efidisk
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this patch adds a disk list panel which:
lists the disks with typical columns
(type, vendor, serial, smart, wearout, etc.)
and with a doubleclick you can show the smart attributes
and with a click on init disk you can initialize a disk
with a gpt table
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this removes all subconfigpanel related code,
since it is not needed anymore
we now have the treelist/cardpanel combo instead of tabpanels
which means we can drop the whole subconfigpanel class
and subclasses
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this makes use of the new globalsearch field and
puts it on top of the page, so that one can easily use it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This help button is meant to be added on InputPanels, where a
link to an online documentation chapter or subschapter is available.
Clicking on the help button will open the help in a new
browser tab.
Original idea similar to the pfSense GUI.
the same code base as our pveButton
(selectionchange handling, confirm,etc.)
but with a split button (a button with a menu)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>