]> git.proxmox.com Git - pve-manager.git/log
pve-manager.git
5 years agoui: migrate: add source node field and rebalance field positions
Thomas Lamprecht [Mon, 17 Jun 2019 10:41:16 +0000 (12:41 +0200)]
ui: migrate: add source node field and rebalance field positions

This makes the window more symmetric, and additional has the
following small advantages:
* to the left we now have static fields only, user modifiable ones
  are all to the right (with shorter distance to the migrate "submit"
  button here)
* if one starts the migration from the tree's context menu it may not
  be really clear where the VM currently is located at, so showing
  the source node can help (especially on bigger clusters with a
  huge target node list)
* more symmetric

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoui: migrate: set window width to 600
Thomas Lamprecht [Mon, 17 Jun 2019 10:39:47 +0000 (12:39 +0200)]
ui: migrate: set window width to 600

700 feels a bit wide

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoui: migrate: refactor migrate window & add migration with local disks
Tim Marx [Fri, 14 Jun 2019 12:35:36 +0000 (14:35 +0200)]
ui: migrate: refactor migrate window & add migration with local disks

This patch depends on:
qemu-server: e1f0fbf4448b374eb9a19502aee565adb5be7ec0

This patch refactors the migrate ui to incoperate the viewmodel approach
which should help if we need to add functionality in future iterations.
Additionally it is now possible to migrate with local disks.

Signed-off-by: Tim Marx <t.marx@proxmox.com>
5 years agowww: storage content view: fix typo in var name
Thomas Lamprecht [Sat, 15 Jun 2019 09:08:08 +0000 (11:08 +0200)]
www: storage content view: fix typo in var name

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agojs: fix some common typos found with codespell
Thomas Lamprecht [Sat, 15 Jun 2019 08:44:43 +0000 (10:44 +0200)]
js: fix some common typos found with codespell

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoperl: fix some common typos found with codespell
Thomas Lamprecht [Sat, 15 Jun 2019 08:40:20 +0000 (10:40 +0200)]
perl: fix some common typos found with codespell

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agobump version to 6.0-0+2
Thomas Lamprecht [Fri, 14 Jun 2019 19:16:45 +0000 (21:16 +0200)]
bump version to 6.0-0+2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agod/control: update version dependency of pve-cluster and libpve-storage
Thomas Lamprecht [Fri, 14 Jun 2019 19:16:34 +0000 (21:16 +0200)]
d/control: update version dependency of pve-cluster and libpve-storage

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agocss: fixup: # is not a comment in css
Thomas Lamprecht [Fri, 14 Jun 2019 11:52:46 +0000 (13:52 +0200)]
css: fixup: # is not a comment in css

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agonetwork api : reload : don't allow openswitch at all
Alexandre Derumier [Thu, 13 Jun 2019 13:49:01 +0000 (15:49 +0200)]
network api : reload : don't allow openswitch at all

ifupdown2 reload can't work with openswitch until we implement
ovs.

I don't think that too much users are mixing ovs && bridge anyway.

It's possible to use ifupdown2 with ovs for ifup/down with ifupdown script,
but config need to be changed, and I don't have tested too much.
(maybe add a conflict in ifupdown2 package with openvswitch package for now)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
5 years agonetwork api : reload : always reload
Alexandre Derumier [Thu, 13 Jun 2019 13:49:00 +0000 (15:49 +0200)]
network api : reload : always reload

reload also if interfaces.new don't exist
(for vnet or other user change in different file)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
5 years agonetwork api : reload : don't check bridge delete
Alexandre Derumier [Thu, 13 Jun 2019 13:48:59 +0000 (15:48 +0200)]
network api : reload : don't check bridge delete

we are doing it in ifupdown2 directly

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
5 years agonetwork api : reload : remove ifdown/up hack
Alexandre Derumier [Thu, 13 Jun 2019 13:48:58 +0000 (15:48 +0200)]
network api : reload : remove ifdown/up hack

This was for vxlan interfaces and fixed in ifupdown2 with my last patches.

simply reload network, and if we still have errors, we can use ifquery to check them later

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
5 years agocss: tree: add some classes for specific locks
Thomas Lamprecht [Thu, 13 Jun 2019 19:32:46 +0000 (21:32 +0200)]
css: tree: add some classes for specific locks

Add classes for suspended, suspending and migration.

They use the same symbol as in the buttons for consitency, size is a
bit smaller to fit better for the tree.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agogui: tree: add lock information to tooltips
Thomas Lamprecht [Mon, 10 Jun 2019 17:04:10 +0000 (19:04 +0200)]
gui: tree: add lock information to tooltips

This was already proposed by Dominik[0], but it was was wished for a
faster backend backing of this[1], and as with most wishes one needs
to either be content with what's there or (try) to improve it one
self.. So with the IPCC approach proposed as backing for this I'd
like to add this again. It differs from [0] a bit, first it's rebased
as parts of the tooltip stuff got already applied[2].

I use "Config locked (<LOCK>)" as text for this, as it
1. Clarifies what the lock symbol means, which is always a good thing
   for tooltips
2. repeating the lock symbol here again would show the users three
   lock symbols at the same time if the VM was selected in the tree
   (the tree one, the VM config panel one, and this tool tip one)
   this is a bit much, so don't do it.

[0]: https://pve.proxmox.com/pipermail/pve-devel/2019-February/035829.html
[1]: https://pve.proxmox.com/pipermail/pve-devel/2019-March/035930.html
[2]: https://pve.proxmox.com/pipermail/pve-devel/2019-March/036165.html

Co-developed-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agogui: add lock icons to css
Dominik Csapak [Wed, 27 Feb 2019 11:32:35 +0000 (12:32 +0100)]
gui: add lock icons to css

and move the warning/error icons below that so that we
get the correct icon if multiple apply

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: add lock to resource store and tree
Dominik Csapak [Wed, 27 Feb 2019 11:32:34 +0000 (12:32 +0100)]
gui: add lock to resource store and tree

add the lock to the css classes and to the columns, also check
the lock field for changed items

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoapi: cluster/resources: add information about guest locks
Thomas Lamprecht [Mon, 10 Jun 2019 16:51:39 +0000 (18:51 +0200)]
api: cluster/resources: add information about guest locks

using the new get_guest_config_property helper from pve-cluster,
which allows us to get this info with relatively low overhead.

With a somewhat realistic setup of 303 guest configurations here my
API call timing changes from ~ 24 to 26 ms without this to 26 to 28
ms with this patch applied, which seems reasonable.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agofixup: while not an error here a trailing semicolon is good to have
Thomas Lamprecht [Thu, 13 Jun 2019 09:08:28 +0000 (11:08 +0200)]
fixup: while not an error here a trailing semicolon is good to have

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoapi network: make IPv6 address checking spew out useful errors
Thomas Lamprecht [Thu, 13 Jun 2019 09:06:15 +0000 (11:06 +0200)]
api network: make IPv6 address checking spew out useful errors

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoui: cephwizard: add networkselector widget
Tim Marx [Wed, 12 Jun 2019 08:56:32 +0000 (10:56 +0200)]
ui: cephwizard: add networkselector widget

Signed-off-by: Tim Marx <t.marx@proxmox.com>
5 years agochange error message related to maxbackups
Oguz Bektas [Tue, 11 Jun 2019 15:55:11 +0000 (17:55 +0200)]
change error message related to maxbackups

make the message a bit more informative (with help from thomas), namely
mentioning the ability to change/increase the limit.

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
5 years agogui: smbios: followup: make declaration fully static
Thomas Lamprecht [Tue, 11 Jun 2019 16:08:01 +0000 (18:08 +0200)]
gui: smbios: followup: make declaration fully static

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agofix #2190: Base64 encode SMBIOS value strings in order to allow more characters
Christian Ebner [Tue, 11 Jun 2019 13:31:12 +0000 (15:31 +0200)]
fix #2190: Base64 encode SMBIOS value strings in order to allow more characters

On some occasions e.g. license checking, the manufacturer string in the
SMBIOS settings edit has to allow characters such as whitespaces.
https://forum.proxmox.com/threads/proxmox-and-windows-rok-license-for-dell.53236/
In principle SMBIOS allows to pass any zero terminated string to the
corresponding fields in the structure type 1 (System Information).

By base64 encoding the values clashing of the config is avoided.

Relies on the corresponding patch to qemu-server to pass parameter verification
and correct parsing.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
5 years agovzdump: new: code cleanup
Thomas Lamprecht [Tue, 11 Jun 2019 15:37:34 +0000 (17:37 +0200)]
vzdump: new: code cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agogui: ceph: fix double slash
Tim Marx [Tue, 11 Jun 2019 12:15:20 +0000 (14:15 +0200)]
gui: ceph: fix double slash

Signed-off-by: Tim Marx <t.marx@proxmox.com>
5 years agogui: cephinstaller: fix create mon url
Tim Marx [Tue, 11 Jun 2019 12:47:54 +0000 (14:47 +0200)]
gui: cephinstaller: fix create mon url

Signed-off-by: Tim Marx <t.marx@proxmox.com>
5 years agoceph: pool destroy: give correct parameter for nautilus
Dominik Csapak [Tue, 11 Jun 2019 11:37:45 +0000 (13:37 +0200)]
ceph: pool destroy: give correct parameter for nautilus

this parameter changed sometime between luminous and nautilus
note that with this change, it is not possible to delete pools in
luminous anymore

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: ceph: add encryption checkbox to osd create
Dominik Csapak [Tue, 11 Jun 2019 09:14:24 +0000 (11:14 +0200)]
gui: ceph: add encryption checkbox to osd create

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: osd create: add encrypted as parameter
Dominik Csapak [Tue, 11 Jun 2019 09:14:23 +0000 (11:14 +0200)]
ceph: osd create: add encrypted as parameter

uses cpeh-volumes --dmcrypt parameter to encrypt the osd

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: a little luminous backwards compatibility
Dominik Csapak [Tue, 11 Jun 2019 09:14:22 +0000 (11:14 +0200)]
ceph: a little luminous backwards compatibility

ceph luminous does not use the 'name' property in the metadata
everywhere, so fall back to 'id'

this makes the ceph dashboard usable while having still luminous
(relevant for upgrading)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: vm: add CPU flag selector with tri-state awareness
Thomas Lamprecht [Thu, 6 Jun 2019 20:22:19 +0000 (22:22 +0200)]
gui: vm: add CPU flag selector with tri-state awareness

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 92572ead6dc4e2a4475111a4c4d52be8f849d9a2)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoui: diskselector: increase width and use flex for columns
Thomas Lamprecht [Thu, 6 Jun 2019 11:43:56 +0000 (13:43 +0200)]
ui: diskselector: increase width and use flex for columns

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoapi osd create: followup code cleanup
Thomas Lamprecht [Thu, 6 Jun 2019 11:43:32 +0000 (13:43 +0200)]
api osd create: followup code cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoceph: make ceph osd create api more readable
Dominik Csapak [Wed, 5 Jun 2019 13:59:37 +0000 (15:59 +0200)]
ceph: make ceph osd create api more readable

The aim of this patch is to reorder/rework the code of the api call
so that it gets more readable

it adds comments of what/why something is done, removes
code duplication between db/wal checks/creation

There are two changes in behaviour:
* when a device is given more than once via the api,
  the user gets a parameter exception for the db or wal
  with the information that the explicit defined devices must be
  different

* we check the usage for db/wal before the worker, so that the user
  gets instant feedback if a device is already in use
  (this is more for api users than for gui users, since we do those
  checks there also)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: ceph osd: use correct reload function
Dominik Csapak [Wed, 5 Jun 2019 13:59:41 +0000 (15:59 +0200)]
gui: ceph osd: use correct reload function

In this component, reload is defined as a local variable in
initComponent not on the component itself

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: ceph osd: do not send empty values
Dominik Csapak [Wed, 5 Jun 2019 13:59:40 +0000 (15:59 +0200)]
gui: ceph osd: do not send empty values

that leads to a parameter exception

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: osd create: add missing gpt check
Dominik Csapak [Wed, 5 Jun 2019 13:59:39 +0000 (15:59 +0200)]
ceph: osd create: add missing gpt check

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: osd create: round size down to the next kib
Dominik Csapak [Wed, 5 Jun 2019 13:59:38 +0000 (15:59 +0200)]
ceph: osd create: round size down to the next kib

since the size of an LV can only be a multiple of 512b, we round
down to the next kib

we then have to mulitply it by 1024 for the partition, since
append_partition expects bytes and not kib

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: cep service list: generalize emptyText
Thomas Lamprecht [Wed, 5 Jun 2019 12:56:55 +0000 (14:56 +0200)]
gui: cep service list: generalize emptyText

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agogui: ceph: dashboard
Dominik Csapak [Tue, 4 Jun 2019 12:47:59 +0000 (14:47 +0200)]
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>
5 years agogui: ceph: use taskDone functionality for reloading
Dominik Csapak [Tue, 4 Jun 2019 12:47:58 +0000 (14:47 +0200)]
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>
5 years agogui: ceph: leave osd selected after reloading
Dominik Csapak [Tue, 4 Jun 2019 12:47:57 +0000 (14:47 +0200)]
gui: ceph: leave osd selected after reloading

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: ceph: reword Cleanup
Dominik Csapak [Tue, 4 Jun 2019 12:47:56 +0000 (14:47 +0200)]
gui: ceph: reword Cleanup

since we do not only cleanup paritions anymore

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: ceph: rework OSD Create window
Dominik Csapak [Tue, 4 Jun 2019 12:47:55 +0000 (14:47 +0200)]
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>
5 years agogui: ceph: use ServiceList for MDS list
Dominik Csapak [Tue, 4 Jun 2019 12:47:54 +0000 (14:47 +0200)]
gui: ceph: use ServiceList for MDS list

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: ceph services: adapt create to ID in API path
Thomas Lamprecht [Wed, 5 Jun 2019 10:40:35 +0000 (12:40 +0200)]
gui: ceph services: adapt create to ID in API path

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoapi: create mgr: also have id in path for create
Thomas Lamprecht [Wed, 5 Jun 2019 09:53:22 +0000 (11:53 +0200)]
api: create mgr: also have id in path for create

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoapi: mgr create: code cleanup, redue heavy empty line usage
Thomas Lamprecht [Wed, 5 Jun 2019 09:52:32 +0000 (11:52 +0200)]
api: mgr create: code cleanup, redue heavy empty line usage

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoapi: create mon: also have monid in path for create
Thomas Lamprecht [Wed, 5 Jun 2019 09:48:36 +0000 (11:48 +0200)]
api: create mon: also have monid in path for create

similar to the MDS api, so that DELETE and POST calls can operate on
the same path. This does not changes the CLI pveceph interface

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoapi: mon create: code cleanup, redue heavy empty line usage
Thomas Lamprecht [Wed, 5 Jun 2019 09:48:02 +0000 (11:48 +0200)]
api: mon create: code cleanup, redue heavy empty line usage

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agogui: ceph: add ServiceList component and use it
Dominik Csapak [Tue, 4 Jun 2019 12:47:53 +0000 (14:47 +0200)]
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>
5 years agoapi: ceph mgr list: check if active_name is really set
Thomas Lamprecht [Wed, 5 Jun 2019 10:38:32 +0000 (12:38 +0200)]
api: ceph mgr list: check if active_name is really set

As in a situation where we /had/ a manager but destroyed it this
key's value is a empty string, and if we pass that to the WebUI we
get strange results form of a ghost MGR entry with ExtJS auto-ID
generation as name -> pretty confusing.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoapi: osd destroy: try to remove PVs directly on the fly
Thomas Lamprecht [Wed, 5 Jun 2019 08:50:52 +0000 (10:50 +0200)]
api: osd destroy: try to remove PVs directly on the fly

no point in first building a list if we can just remove it directly
afterwards, it's eval-ed anyway and $osd_list did not get touched
in-between.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoapi: osd destroy: pull out cleanup param
Thomas Lamprecht [Wed, 5 Jun 2019 08:49:53 +0000 (10:49 +0200)]
api: osd destroy: pull out cleanup param

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoceph: osd: rework osd destroy to work with ceph-volume
Dominik Csapak [Tue, 4 Jun 2019 12:47:51 +0000 (14:47 +0200)]
ceph: osd: rework osd destroy to work with ceph-volume

with this, osd destruction is left to ceph-volume if the osd was created
with ceph-volume, else our old code remains mostly the same since
we want to be able to destroy upgraded osds

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agofollowup: api: osd create: code cleanup
Thomas Lamprecht [Wed, 5 Jun 2019 08:01:45 +0000 (10:01 +0200)]
followup: api: osd create: code cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoapi: osd create: use verbose_description and document defaults directly
Thomas Lamprecht [Wed, 5 Jun 2019 08:01:01 +0000 (10:01 +0200)]
api: osd create: use verbose_description and document defaults directly

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agofixup: ceph osd create: also put real UUID when adding a lv
Thomas Lamprecht [Wed, 5 Jun 2019 07:46:38 +0000 (09:46 +0200)]
fixup: ceph osd create: also put real UUID when adding a lv

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoceph: osd: rework creation with ceph-volume
Dominik Csapak [Tue, 4 Jun 2019 12:47:50 +0000 (14:47 +0200)]
ceph: osd: rework creation with ceph-volume

this completely rewrites the ceph os creation api call using ceph-volume
since ceph-disk is not available anymore

breaking changes:
no filestore anymore, journal_dev -> db_dev

it is now possible to give a specific size for db/wal, default
is to read from ceph db/config and fallback is
10% of osd for block.db and 1% of osd for block.wal

the reason is that ceph-volume does not autocreate those itself
(like ceph-disk) but you have to create it yourself

if the db/wal device has an lvm on it with naming scheme 'ceph-UUID'
it uses that and creates a new lv

if we detect partitions, we create a new partition at the end

if the disk is not used at all, we create a pv/vg/lv for it

it is not possible to create osds on luminous with this api call anymore,
anyone needing this has to use ceph-disk directly

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoservice: add restart on-failure to pveproxy and pvedaemon
Thomas Lamprecht [Wed, 5 Jun 2019 06:47:53 +0000 (08:47 +0200)]
service: add restart on-failure to pveproxy and pvedaemon

This way they can cleanly exit (with a SIGTERM or systemctl stop) but
will get restarted if killed or they abort, but only for
StartLimitIntervalSec= time period with a total maximal count of
StartLimitBurst= retries.
See `man systemd.unit` for details, default are 10s total
restart retry period with at max 5 total retry counts, after that the
unit will placed in the failure state. So this is a best effort try
with no real downside.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agodrop references to un-maintained sheepdog plugin
Thomas Lamprecht [Tue, 4 Jun 2019 15:44:05 +0000 (17:44 +0200)]
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>
5 years agoceph: add db/wal size helper
Dominik Csapak [Tue, 4 Jun 2019 12:47:49 +0000 (14:47 +0200)]
ceph: add db/wal size helper

reads the sizes from the ceph config db first, then from the
ceph config, first from the osd section then global

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agofollowup code cleanup
Thomas Lamprecht [Tue, 4 Jun 2019 15:18:09 +0000 (17:18 +0200)]
followup code cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoceph: add ceph-volume helper
Dominik Csapak [Tue, 4 Jun 2019 12:47:48 +0000 (14:47 +0200)]
ceph: add ceph-volume helper

those will be needed for creation/destruction of nautilus osds

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: mon: use ceph_service_cmd to enable/disable the systemd service
Dominik Csapak [Tue, 4 Jun 2019 12:47:47 +0000 (14:47 +0200)]
ceph: mon: use ceph_service_cmd to enable/disable the systemd service

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: mgr: delete auth key on destruction
Dominik Csapak [Tue, 4 Jun 2019 12:47:46 +0000 (14:47 +0200)]
ceph: mgr: delete auth key on destruction

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: remove 'exclude-manager' api parameter
Dominik Csapak [Tue, 4 Jun 2019 12:47:45 +0000 (14:47 +0200)]
ceph: remove 'exclude-manager' api parameter

since we will have a seperate gui for the manager, we do not need this
anymore

this is a breaking api change

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: add an index for mgr services
Dominik Csapak [Tue, 4 Jun 2019 12:47:44 +0000 (14:47 +0200)]
ceph: add an index for mgr services

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoget_cluster_service: do not always call cfs_update
Thomas Lamprecht [Tue, 4 Jun 2019 14:34:51 +0000 (16:34 +0200)]
get_cluster_service: do not always call cfs_update

This was done to ensure the nodelist, which get_node_kv uses
internally to loop over all nodes, is filled. But, everything coming
through API/CLI already has a cfs_update called so this is not
required outside from development testing calls. As we normally do
not do this for such calls, cfs_update call is a prerequisite for
such things. The better solution would be handling this internally in
get_node_kv, e.g., by checking if $clinfo->{versionn} was set once,
and if not call to cfs_update, or maybe even better, so adapt the IPC
call for a possibility to get the KV status hash for all nodes.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agofollowup code cleanup
Thomas Lamprecht [Tue, 4 Jun 2019 14:42:23 +0000 (16:42 +0200)]
followup code cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agoceph: factor out the service info generation
Dominik Csapak [Tue, 4 Jun 2019 12:47:43 +0000 (14:47 +0200)]
ceph: factor out the service info generation

and include a call to $type metadata to include the version

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: refactor broadcast_ceph_services and get_cluster_service
Dominik Csapak [Tue, 4 Jun 2019 12:47:42 +0000 (14:47 +0200)]
ceph: refactor broadcast_ceph_services and get_cluster_service

and use the broadcast when a service is added/removed
we will use 'get_cluster_service' in the future when we generate a list
of services of a specific type

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: get_local_services: also check /var/lib/ceph/$type
Dominik Csapak [Tue, 4 Jun 2019 12:47:41 +0000 (14:47 +0200)]
ceph: get_local_services: also check /var/lib/ceph/$type

so we do not miss disabled services

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoceph: add missing link for 'restart' in ceph api
Dominik Csapak [Tue, 4 Jun 2019 12:47:40 +0000 (14:47 +0200)]
ceph: add missing link for 'restart' in ceph api

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agoadd beta text with link to bugtracker
Thomas Lamprecht [Tue, 4 Jun 2019 11:37:32 +0000 (13:37 +0200)]
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>
5 years agoceph: remove cube symbol for now, confusion with CTs
Thomas Lamprecht [Fri, 31 May 2019 14:33:37 +0000 (16:33 +0200)]
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>
5 years agoceph: just use "0" as initial value for ceph version
Thomas Lamprecht [Fri, 31 May 2019 14:31:02 +0000 (16:31 +0200)]
ceph: just use "0" as initial value for ceph version

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agogui: ceph: fix version comparison
Dominik Csapak [Fri, 31 May 2019 10:15:53 +0000 (12:15 +0200)]
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>
5 years agogui: ceph: hide outdated osd line if possible
Dominik Csapak [Fri, 31 May 2019 10:15:52 +0000 (12:15 +0200)]
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>
5 years agogui/ceph: show versions in osd overview
Dominik Csapak [Fri, 31 May 2019 10:15:51 +0000 (12:15 +0200)]
gui/ceph: show versions in osd overview

and highlight the not current osds

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agofollowup: make ceph version handling more flexible
Thomas Lamprecht [Fri, 31 May 2019 13:39:48 +0000 (15:39 +0200)]
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>
5 years agogui: add compare_ceph_versions
Dominik Csapak [Fri, 31 May 2019 10:15:50 +0000 (12:15 +0200)]
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>
5 years agowhitespace cleanup
Tim Marx [Fri, 31 May 2019 11:41:49 +0000 (13:41 +0200)]
whitespace cleanup

Signed-off-by: Tim Marx <t.marx@proxmox.com>
5 years agofix #2223: fix set_button_status isCDRom
Dominik Csapak [Wed, 29 May 2019 13:36:03 +0000 (15:36 +0200)]
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>
5 years agopveceph install: allow nautilus and use as default
Thomas Lamprecht [Mon, 27 May 2019 13:49:02 +0000 (15:49 +0200)]
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>
5 years agopveceph install: output warnings from apt update, they're relevant
Thomas Lamprecht [Mon, 27 May 2019 13:43:36 +0000 (15:43 +0200)]
pveceph install: output warnings from apt update, they're relevant

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 years agogui: add datacenter ceph option
Dominik Csapak [Mon, 27 May 2019 12:14:06 +0000 (14:14 +0200)]
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>
5 years agogui: ceph: tweak heights
Dominik Csapak [Mon, 27 May 2019 12:14:05 +0000 (14:14 +0200)]
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>
5 years agogui: ceph: add Services panel
Dominik Csapak [Mon, 27 May 2019 12:14:04 +0000 (14:14 +0200)]
gui: ceph: add Services panel

to show the mon/mgr/mds services

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: ceph: add pg pie chart
Dominik Csapak [Mon, 27 May 2019 12:14:03 +0000 (14:14 +0200)]
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>
5 years agogui: ceph: add metadata api call to dashboard
Dominik Csapak [Mon, 27 May 2019 12:14:02 +0000 (14:14 +0200)]
gui: ceph: add metadata api call to dashboard

and use it for displaying outdated osds

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: ceph: make status panel node independant
Dominik Csapak [Mon, 27 May 2019 12:14:01 +0000 (14:14 +0200)]
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>
5 years agogui: ceph: prepare statusdetail for metadata
Dominik Csapak [Mon, 27 May 2019 12:14:00 +0000 (14:14 +0200)]
gui: ceph: prepare statusdetail for metadata

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: ceph: remove mon specific code from StatusDetail
Dominik Csapak [Mon, 27 May 2019 12:13:59 +0000 (14:13 +0200)]
gui: ceph: remove mon specific code from StatusDetail

will be handled in ceph/Services.js

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
5 years agogui: ceph: add Services.js
Dominik Csapak [Mon, 27 May 2019 12:13:58 +0000 (14:13 +0200)]
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>
5 years agogui: ceph: add get_ceph_icon_html to utils
Dominik Csapak [Mon, 27 May 2019 12:13:57 +0000 (14:13 +0200)]
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>
5 years agogui: ceph: add 'old' to ceph health
Dominik Csapak [Mon, 27 May 2019 12:13:56 +0000 (14:13 +0200)]
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>
5 years agogui: StateProvider: add fireevent option to set
Dominik Csapak [Mon, 27 May 2019 12:13:55 +0000 (14:13 +0200)]
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>
5 years agoadd cluster wide ceph api calls
Dominik Csapak [Mon, 27 May 2019 12:13:54 +0000 (14:13 +0200)]
add cluster wide ceph api calls

add two new api calls in /cluster/ceph

status:
the same as /nodes/NODE/ceph/status, but accessible without
nodename, which we don't need, as in the hyperconverged case, all nodes
have the ceph.conf which contains the info on how to connect to the
monitors

metadata:
combines data from the cluster filesystem about the services,
as well as the 'ceph YYY metadata' info we get from ceph.
with this info we can convieniently display which services exists,
which are running and which versions they have

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>