Commit Graph

2346 Commits

Author SHA1 Message Date
Dominik Csapak
4c94e9de1d gui: ceph osd: do not send empty values
that leads to a parameter exception

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-06-05 18:23:49 +02:00
Thomas Lamprecht
e148c752eb gui: cep service list: generalize emptyText
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-05 14:56:55 +02:00
Dominik Csapak
44dde2cb22 gui: ceph: dashboard
this fixes the dashboard when one views it on a node

alternatively, we can add a node specific metadata api call

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-06-05 12:41:11 +02:00
Dominik Csapak
2b142c4f99 gui: ceph: use taskDone functionality for reloading
instead of simply reloading when the window is closed

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-06-05 12:41:11 +02:00
Dominik Csapak
e2924302bf gui: ceph: leave osd selected after reloading
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-06-05 12:41:11 +02:00
Dominik Csapak
c56634f133 gui: ceph: reword Cleanup
since we do not only cleanup paritions anymore

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-06-05 12:41:11 +02:00
Dominik Csapak
4d3e918aa5 gui: ceph: rework OSD Create window
to reflect the changes on the backend (no filestore, db/wal size)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-06-05 12:41:11 +02:00
Dominik Csapak
7a1aa33bba gui: ceph: use ServiceList for MDS list
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-06-05 12:41:11 +02:00
Thomas Lamprecht
7ce1e64ccf gui: ceph services: adapt create to ID in API path
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-05 12:41:11 +02:00
Dominik Csapak
a6c60aed86 gui: ceph: add ServiceList component and use it
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>
2019-06-05 12:41:11 +02:00
Thomas Lamprecht
76bbe3e2d5 drop references to un-maintained sheepdog plugin
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>
2019-06-04 17:45:38 +02:00
Thomas Lamprecht
1e12b31791 add beta text with link to bugtracker
to not confuse people, especially if they share screen shots or the
like...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-04 13:38:09 +02:00
Thomas Lamprecht
7f08e4fe8c ceph: remove cube symbol for now, confusion with CTs
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>
2019-05-31 16:33:39 +02:00
Thomas Lamprecht
fcb30b4941 ceph: just use "0" as initial value for ceph version
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-31 16:31:02 +02:00
Dominik Csapak
4f71a0ff0a gui: ceph: fix version comparison
'>' on strings is not numeric, so we use our compare_ceph_versions helper

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-31 15:46:01 +02:00
Dominik Csapak
c0c2e40161 gui: ceph: hide outdated osd line if possible
when no osd is outdated, hide the line with 'outdated osts' in the
dashboard

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-31 15:45:54 +02:00
Dominik Csapak
e02970235d gui/ceph: show versions in osd overview
and highlight the not current osds

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-31 15:45:48 +02:00
Thomas Lamprecht
35306f4767 followup: make ceph version handling more flexible
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>
2019-05-31 15:45:37 +02:00
Dominik Csapak
005e0a6091 gui: add compare_ceph_versions
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>
2019-05-31 15:28:14 +02:00
Tim Marx
55b49d7ef2 whitespace cleanup
Signed-off-by: Tim Marx <t.marx@proxmox.com>
2019-05-31 15:24:57 +02:00
Dominik Csapak
2e1a8291d6 fix #2223: fix set_button_status isCDRom
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>
2019-05-31 11:03:58 +02:00
Thomas Lamprecht
c3d9c6980d pveceph install: allow nautilus and use as default
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>
2019-05-27 16:17:29 +02:00
Dominik Csapak
f3a469836a gui: add datacenter ceph option
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>
2019-05-27 16:17:29 +02:00
Dominik Csapak
27b9127534 gui: ceph: tweak heights
so that it uses the space better in 1-column and 2-column mode

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-27 16:17:29 +02:00
Dominik Csapak
4ad4262d74 gui: ceph: add Services panel
to show the mon/mgr/mds services

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-27 16:17:29 +02:00
Dominik Csapak
f73a2d361d gui: ceph: add pg pie chart
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>
2019-05-27 16:17:29 +02:00
Dominik Csapak
7f58689dd2 gui: ceph: add metadata api call to dashboard
and use it for displaying outdated osds

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-27 16:17:29 +02:00
Dominik Csapak
2365c5c18f gui: ceph: make status panel node independant
and use the cluster wide api call if no nodename is given

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-27 16:17:29 +02:00
Dominik Csapak
0bf3c58193 gui: ceph: prepare statusdetail for metadata
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-27 16:17:29 +02:00
Dominik Csapak
28786da66f gui: ceph: remove mon specific code from StatusDetail
will be handled in ceph/Services.js

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-27 16:17:29 +02:00
Dominik Csapak
95d0de895a gui: ceph: add Services.js
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>
2019-05-27 16:17:29 +02:00
Dominik Csapak
2f5b82ae95 gui: ceph: add get_ceph_icon_html to utils
returns html code for a ceph health icon, will be used in Services.js

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-27 16:17:29 +02:00
Dominik Csapak
aa240b298d gui: ceph: add 'old' to ceph health
this will be used for the dashboard to show outdated services/osds

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-27 16:17:29 +02:00
Dominik Csapak
71c8e23f86 gui: StateProvider: add fireevent option to set
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>
2019-05-27 16:17:29 +02:00
Thomas Lamprecht
180a86d39a pvecfg: adapt version and release semantic
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>
2019-05-26 16:11:43 +02:00
Thomas Lamprecht
404bf6c8b7 ui: followup: set background color to dark grey
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>
2019-05-22 21:29:36 +02:00
Dominik Csapak
d962846d43 make the logout button a menu and move the username there
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>
2019-05-22 21:29:36 +02:00
Thomas Lamprecht
f6632d26b2 ui: FW log ratelimit: avoid access on possible undefined rate
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>
2019-05-16 10:31:02 +02:00
Thomas Lamprecht
671f470e09 ui: FW log ratelimit: fix default value
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-16 10:30:34 +02:00
Thomas Lamprecht
df93368f74 ui: FW options: do not draw border arount rate limit separator
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-16 09:48:37 +02:00
Thomas Lamprecht
a671b6b5f9 fix lint errors introduced by NFS version option patch
fixes commit d3abac4335

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-16 09:36:00 +02:00
Oguz Bektas
d3abac4335 fix #2185: add option to change nfs version on gui
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>
2019-05-15 15:28:05 +02:00
Dominik Csapak
e402755915 gui: node: change syslog to JournalView and journal api
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-15 12:09:26 +02:00
Thomas Lamprecht
10525ed71e fix #2197: ui: editing CDROM doesn't require VM.Config.Disk rights
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>
2019-05-13 17:27:49 +00:00
Dominik Csapak
c0d4a151fd ui: NodeSelector: check status field for offline nodes
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>
2019-05-09 16:30:22 +00:00
Thomas Lamprecht
3747b7a2ed followup: do not break on mixed, as one with no level could follow
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-07 17:51:02 +00:00
Thomas Lamprecht
3512569d1e followup code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-07 17:49:43 +00:00
Dominik Csapak
595d0457d0 fix #2183: fix blinking subscription and show unknown status
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>
2019-05-07 17:22:52 +00:00
Dominik Csapak
5bb1062908 ui: TFAEdit: use new tfa api call
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>
2019-05-07 16:33:30 +00:00
Dominik Csapak
6dfb9ec490 ui: TFAEdit: change tfa_type default to null
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>
2019-05-07 16:33:30 +00:00