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>
This was the exact same symbol we use for container, and as this is
_not_ CT related, and box did not make sense for the version here for
me, just remove it for now before we forget it..
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
ceph has a bad reputation for chaging such minor things a few times,
even during a stable release, and as here a bit more flexibillity
cost exactly nothing let's do so and accept versions with one to
arbitrary version levels
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this correctly compares ceph versions by its numeric parts
the way it is written, it can be used as a function for 'sort'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
value is not always a string (depending on the value that changed),
so we have to convert it to a string to have a 'match' function
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
We allow 'luminous' still for testing purpose, it could be also
useful if one already upgraded his cluster to PVE 6.0 / Buster but
not yet ceph and due to a incident needs to setup a new luminous node
on Buster to get healthy again. This is fabricated but not
unthinkable, as it costs nothing and isn't available for WebUI user
just keep it for now. Remove with a future point release though.
Use non-public repo for now, will be updated to testing soon.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
links to the cluster wide dashboard
also link the datacenter dashboard to this instead of a random node
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
similar to what the ceph mgr dashboard shows, gives a rough
overview to pg state
also make the pg list scrollable to avoid to big panels
and show the state color with the pg category
Signed-off-by: Dominik Csapak <d.csapak@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>
this way, we can control if we want to fire the 'statechanged' event
when we set a value in the stateprovider
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Wit commit a74ba607d4 we switched over
to using the dpkg-dev provided helpers to set package version,
architecture and such in the buildsystem.
But unlike other repositories we used the version also for giving it
back over the API through the during build generated PVE::pvecfg
module, which wasn't fully updated to the new style.
This patch does that, and also cleans up semantics a bit, the
following two changed:
release is now the Debian release, instead of the "package release"
(i.e., the -X part of a full package version).
version is now simply the full (pve-manager) version, e.g., 6.0-1 or
the currently for testing used 6.0-0+1
This allows to do everything we used this information for even in a
slightly easier way (no string concat needed anymore), and fits also
with the terminology we often used in our public channels (mailing
lists, forum, website)
Remove some cruft as we touch things.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Finally make the "Create VM/CT" button distinct from the User
(earlier "Logout") button, this should make them stand out more
As main color the "Proxmox Dark Grey" from our branding guide was
choosen
https://www.proxmox.com/images/proxmox/Proxmox-Corporate-Brandguideline-2018.pdf
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
so we have a more 'web-app' like appearance for the user
the menu contains links to:
* browser localstorage settings
* password change
* tfa change
* logout
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This is an optional parameter and needs to be guarded, a simple
"truthy" check is enough, as eithers it's missing or a more complex
string (i.e., it cannot be '0' or the like)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this enables us to specify an nfs version while editing/creating an nfs
mount. it used to default to vers=3 without the ability to change it in
gui. now it supports: 3, 4, 4.1 and 4.2
it should also be possible to add further options in the future (rsize,
wsize, timeo, etc.) on this screen.
Co-Authored-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
A user which just has the default role PVEVMUser on a VM is able to
edit the CDROM, either to no media or if storage permissions are
available also to other ISOs, through the API. So reflect this again
for the WebUI. We could add a check for "VM.Config.CDROM", but that's
not really worth, if we keep in mind that the Ext.Caps state is
heuristically only.
fixes commit d35b5b2afb
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
the memory stat is not available if the user has no audit privilges on
/nodes/NODENAME but the status is always available
also it makes simple more sense to check if it is online not only if the
memory value is there
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we skip offline nodes, check for nodes without subscription,
and finally check for different levels
if for some reason we do not get any subscription status (should not happen)
we show 'unknown'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
with the api call to userid/tfa we get the users tfa type as well
as the realm tfa type, so we can replace the call to the realm
with this
to properly show the loadmask, we want to initiate the api call when
the window is already shown, the 'show' event works for this
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
If a dependency of a formula returns undefined, it will not get updated,
even if the other parts of the formula would work.
So we change the default to 'null' which gets handled differently,
but serves the same purpose for us.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
if we have no info about TFA in the userview (x as key instead of
x!oath or x!u2f) we disabled the whole window and the only action
was to delete
instead show all options, so the user can overwrite the setting
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
changes the vtype to the newly defined IP64CIDRAddress. depends on the
introduction of the IP64CIDRAddress vtype in proxmox-widget-toolkit.
Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
add some helpers handling this, can be re used for adding the
migration field, maybe we want to move this to widget-toolkits parent
ObjectGrid class, a bit cleaned up.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
While for now you only have elements which require the add disk
capability in the add sections it makes no sense to hide it, as it
would suggest that one can add no resource at all, and can easily
introduce a bug if we add another type of resource here, independent
of disk add cap.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
to avoid showing numbers as error codes to users, even though the
strings are not much more helpful either...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This was introduced when refactoring our seprated CT & VM ID
selectors into an unified one in
commit ed416f2024
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
we now have the TFALoginWindow which pops up if TFA is configured,
so use only this single stream lined approach.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
instead of trying a single random node 3 times, try all nodes
until we either find one with ceph, or until we tried them all
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
as name is now a displayfield, which by default does not
gets submitted, so just use the fixed userid directly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
only when the totp form and the challenge is valid, allow pressing the
apply button, default is disabled, as the 'user_tfa' data binding was
not used anywhere else replace it with something more fitting.
change allowBlank for the challenge
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this way a user cannot (easily) enter wrong characters
else if an invalid Character is entered, one can still hit apply
but not all characters will be used for the secret
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Adds a checkbox to the restore window, allowing the user to avoid MAC address
collisions when restoring a VM/CT to a different vmid.
When restoring to the same vmid the checkbox is not visible.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
detect also our old variant for TFA, so all users where the keys
values is non-empty have TFA
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Google Authenticator, for example, just ignores it and thus one
cannot use they produced verification codes...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
It's best to let this to the users real account name, it just
clutters the interface, an there's no real value in it.
One can already use the "issuer" field to add personalized info.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
it is guest hardware and not really an option, and we have it now
in the wizard, so it makes sense to have it here
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this is deprecated and should not be necessary anymore, since
qemu and novnc can handle this better if no keyboard layout is set
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
for this we have to adapt the scsiController logic slightly, so that
the ostype change sets the viewmodel, which in turn changes the
bound fields (one one the system tab, and the displayfield on the hd tab)
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 patch implements disabling for the DiskStorageSelector, which
resets the storage and triggers a validity change
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we want to be able to use fontawesome icons directly instead of having
to use extracted png in css classes
this patch makes it possible to use 'iconCls' with the font-awesome icon name
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this info was already here in the heading once, add it as pve-hint
styled display field at the bottom.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
does not brings real value here, one sees the selected node also
through the blur, and it shouldn't matter at this point, the cluster
config is for all nodes (using ceph) and the monitor has its own node
selector anyway, so do not cloud user interface to much.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
If calls aren't proxied to the selected node, which seems legit in
some cases, this will cause some misleading errors while ceph is
not installed on that node. Therefor the calls should now always get
proxied.
Signed-off-by: Tim Marx <t.marx@proxmox.com>
to give the user better feedback about the various icons (play, pause,
warning, error, etc) add a tooltip to the tree elements which
contain that information
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This patch relies on the corresponding patch to pve-firewall, adding the user
defined log levels for firewall rules.
By this, the user can select a per-rule log level for self defined rules. These
are independent of the global log level, which is defined in the firewall options.
Signed-off-by: Christian Ebner <c.ebner@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>
It's not only 'IPv4/CIDR' but 'IP/CIDR', IPv6 works too so generalize
this.
Also make the cluster network emptytext a bit more expressive.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Ext.urlEncode is deprecated, use Ext.Object.toQueryString instead
Signed-off-by: Tim Marx <t.marx@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
So that the users have a good and fast feedback about ther
support and subscripttion status, especially if they have
mistakenly different levels of susbscriptions in their cluster.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
when the popup blocker is active, nw is undefined and nw.focus() throws an
error and the touchend event is not finished, causing extjs to retry the
touchevent and click handler, which tries to open a popup which gets blocked
here, and so on
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
type confusion: value is int and string
let is not recognized by our jslint version yet, so
use var for now
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
only show warning in migration window and when a running lxc container
is chosen
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Co-Authored by: Dominik Csapak <d.csapak@proxmox.com>
We act correctly for an outside triggered suspend, but if the guest
suspends itself from inside (e.g., systemctl suspend,
`echo "standby" > /sys/power/state` or windows sleep) it has another
state (suspended vs. paused), so handled that also
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
This adds the posibility to filter CT template/appliances by package as well as
description in the CT template/appliances download window.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
we only show that a storage can store snippets, but for now
we do not allow to set or upload them via the gui
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This add a context menu to the entries of the global search field instead of
showing the browsers default one.
This allows to search and easily manage nodes, VMs and CTs similar to the
behaviour in the resource tree.
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>
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>
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>
Pass the ring addresses from the node we use to join a cluster with
the encoded cluster info. Use it to determine if the nodes public
address (i.e., the onei t's node name resolves to) differs from it'S
ring0 address, if that's the case and the cluster was created with
PVE tooling then we know that it's highly probable that the ring0 is
on another network than the public net, so require the ring0_addrss
field in this case. If we have a false positive, it's not to bad
here.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Introduce the mdsCount again, I know remember again why I had it in
v3 of my CephFS series.. Use this to disable the CephFS create button
if we have no MDS configured, as this is a requirement.
Further change the gettext for 'No XY configure' to a format string
so that it can be reused.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
hard to translate sensible and also better for user to have them in
english as much more can be found when searching those specific
terms. To what would one translate CKSUM for example?
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
As requested by various users and also for Dominik's upcomming
restart Ceph [Mo, Mgr, ...} series where else two buttons just called
reboot would be exacly besides each other.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this enables the gui part to enable the user to add a pci device
via the gui
we disable the button after 4 devices, since that is the maximum
in the backend
Signed-off-by: Dominik Csapak <d.csapak@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>
If an image has a <vmid> encoded in the image name
and the guest does not exist in the cluster
we can delete it on the GUI.
Also, if a config exists on another node and the storage is local
we can delete.
In all other cases, it is not allowed to delete it.
For safety reason the safe remove windows are used.
We passed a 'disable' config to those menu items on creation, but
promptly ignored that after the first set_button_status call, which
only checked if it's possible to add another device, but not if our
capabilities heuristic is OK.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
We want to name an example here, so `e.g.` would be better.
Also show that in the field if empty. No changes to gettext stuff.
Signed-off-by: Thomas Lamprecht <t.lamprecht@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>
this was added for our (also in other places used):
> xtype: me.isCreate ? 'pveCephPoolSelector' : 'displayfield',
construct. But as displayfield does not has a submitValue setter we
cannot bind it generally.
So add such a setter with a small override and declare the bindings
direct when declaring the items, less side effects and all the
configurations for an item stays in the same place.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
will be reused for CephFS, look at this with git's ignore whitespace
change flag '-w' to see that the changes consist mostly of indent and
hunk movement changes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
If we get the cluster name (successful login with '/' Sys.Audit
permissions) then display it in the resource tree's root node.
This updated on login and all ticket refreshs (every 15 minutes).
I currently have no functionallity to refresh it actively on cluster
create over WebUI, as it's not a straight forward change there.
Further, this is something which does not changes often (in
production), and we cannot detect CLI or API triggered (from non-pve
clients) cluster creations anyway.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Even though QEMU supports the discard feature for both ATA [1] and
SCSI drives, the "Discard" checkbox in Proxmox VE is artificially
restricted to SCSI drives. This change expands availability of the
"Discard" checkbox to all drive types supported by QEMU, leaving
VirtIO Block as the only remaining exclusion.
Combined with the new "SSD emulation" option [2], enabling discard
on IDE/SATA drives allows reclaiming of free space on thin-provisioned
storage with guests that do not support our SCSI controllers.
[1] d353fb72f5
[2] https://git.proxmox.com/?p=pve-manager.git;a=commit;h=f9261fde2134cec35a5ec7c3ebbee5daa4d67ec7
Signed-off-by: Nick Chevsky <nchevsky@gmail.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
nocloud configuration does not support SLAAC option, only static or dhcp
so this option shouldn't be available
Signed-off-by: David Limbeck <d.limbeck@proxmox.com>
It confused me twice and I enabled autoScroll on the wrong component,
so order it as it's layouted and remove the autoscroll completely,
not needed at all...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
ZFSStatus component got renamed to ZFSDevices to clarify that it only displays
the device tree of the status command. The newly added component is now named
ZFSStatus instead.
Signed-off-by: Tim Marx <t.marx@proxmox.com>
So that users are (hopefully) less confused why this is disabled for
privileged CTs. If we get more feature settings which only make
sense for unprivileged or privileged but not both we could split
this into sections which respective headings, but for one only I
didn't wanted to do this - so just add a boxLabel conditionally.
Cc: Dominik Csapak <d.csapak@proxmox.com>
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>
Switch the default mode 'MULTI' with 'SIMPLE', the same we use in the
dc/Backup guest selector. It allows to remove the 'checkOnly'
setting, which limited selection and deselection of elements on the
checkbox it self, doing nothing when clicking on rows.
Besides the friendlier and more streamlined UX this actually fixes a
bug in Firefox (confirmed in version 62, possible in other versions
too) where select/deselect di not worked when clicking in the white
area of the checkbox, but only when clicking on the surrounding
padding.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
e.g., pending deletion of cdrom/dvd drive showed as hard disk in
hardware tab
Signed-off-by: David Limbeck <d.limbeck@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
we do all necessary checks in the backend, and there we allow
whitespace in mp paths, so there is no need to restrict it in
the gui to non-whitespace characters
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>