[pve-devel] applied: [PATCHi v3 manager] fix #3451 ui: ceph create osd: show custom device classes
Thomas Lamprecht
t.lamprecht at proxmox.com
Fri Jan 28 13:23:35 CET 2022
On 25.01.22 09:51, Aaron Lauterer wrote:
> Showing already configured custom device classes makes it easier to
> create new OSDs with custom device classes.
>
> The Crush map contains a list of all OSDs in the cluster, including
> their device class.
> This means we can create a list of used device classes from it, avoiding
> adding another API endpoint.
>
> Fetching the crushmap should also be quite a bit less data that needs to
> be transferred, compared to the other possible nodes/<node>/ceph/osd
> endpoint, especially in larger clusters.
>
> Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
> ---
> changes from v2:
> - check against eslint warnings, adding two commas
>
> changes from v1:
> - template string for API call
> - API failure now throws an alert
> - used Thomas idea on how to make the list creation more concise and
> only update the combo items if we do have custom device classes
> - reverted default `comboItems` to the element definition
>
> @Thomas by using `Array.from` we can iterate over the results returned
> from matchAll and also map element [1] from the returned array as it
> actually holds the matched item.
> The unshift needed the `...` deconstruction operator as comboItems is an
> array of arrays.
I actually dropped the unshift and expanded directly:
kvField.setComboItems([...kvField.comboItems, ...classes]);
In theory this could allow a minimally slightly more efficient use, not that
it'd matter here much, but hey a line less code ;-P
>
> www/manager6/ceph/OSD.js | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
>
applied, thanks!
More information about the pve-devel
mailing list