all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <thomas@lamprecht.org>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	Lukas Wagner <l.wagner@proxmox.com>
Subject: [pve-devel] partially-applied: [PATCH many v9 00/13] notifications: notification metadata matching improvements
Date: Mon, 22 Jul 2024 19:36:57 +0200	[thread overview]
Message-ID: <22716cc9-03f0-4be7-b85f-1c1fe3f736d7@lamprecht.org> (raw)
In-Reply-To: <20240708093812.164901-1-l.wagner@proxmox.com>

Am 08/07/2024 um 11:37 schrieb Lukas Wagner:
> This patch series attempts to improve the user experience when creating
> notification matchers.
> 
> Some of the noteworthy changes:
>   - Allow setting a custom backup job ID, similar how we handle it for
>   sync/prune jobs in PBS (to allow recognizable names used in matchers)
>   - New metadata fields:
>     - job-id: Job ID for backup-jobs or replication-jobs
>   - Add an API that enumerates known notification metadata fields/values
>   - Suggest known fields/values in match rule window
>   - Some code clean up for match rule edit window
>   - Extended the 'exact' match-field mode - it now allows setting multiple
>     allowed values, separated via ',':
>       e.g. `match-field exact:type=replication,fencing
>     Originally, I created a separate 'list' match type for this, but
>     since the semantics for a list with one value and 'exact' mode
>     are identical, I decided to just extend 'exact'.
>     This is a safe change since there are are no values where a ','
>     makes any sense (config IDs, hostnames)
> 
> NOTE: Might need a versionened break, since the widget-toolkit-patches
> depend on new APIs provided by pve-manager. If the API is not present,
> creating matchers with 'match-field' does not work (cannot load lists
> of known values/fields)
> 
> Inter-Dependencies:
>   - the widget-toolkit dep in pve-manager needs to be bumped
>     to at least 4.1.4
>     (we need "utils: add mechanism to add and override translatable notification event
>     descriptions in the product specific UIs", otherwise the UI breaks
>     with the pve-manager patches applied) --> already included a patch for
>     this
>   - widget-toolkit relies on a new API endpoint provided by pve-manager:
>     --> we require a versioned break in widget-toolkit on pve-manager

not sure if I really want to do that as it's not really useful for clusters
anyway, where the loaded wtk can be newer than the manager of a (proxied)
node. But in any way: many thanks for mentioning it.

>   - pve-manager needs bumped pve-guest-common (thx @Fabian)
> 
> Changelog:
>   - v9: fix typos in commit message, add @Max's R-b trailer - thx!
>   - v8: incorporate feedback from @Fabian, thx a lot!
>     - Made 'job-id' API param usable by root@pam only - this should prevent
>       abuse by spoofing job-id, potentially bothering other users with bogus
>       notifications.
>     - Don't set 'job-id' when starting a backup job via 'Run now' in the UI
>     - Add a note to the docs explaining when job-id is set and when not.
>     - Drop already applied patches
>   - v7: incorporated some more feedback from @Fiona, thx!
>     - Fixed error when switching from 'exact' to 'regex' if the text field
>       was empty
>     - rebased to latest master
>     - 'backport' doc improvements from PBS
>     - bumped widget-toolkit dep
>   - v6: incorporate feedback from @Fiona, thx!
>     - rename 'id' -> 'job-id' in VZDump API handler
>     - consolidate 'replication-job'/'backup-job' to 'job-id'
>     - Move 'job-id' setting to advanced tab in backup job edit.
>     - Don't use 'internal' flag to mark translatable fields, since
>       the only field where that's necessary is 'type' for now - so
>       just add a hardcoded check
>   - v5:
>     - Rebased onto latest master, resolving some small conflict
>   - v4:
>     - widget-toolkit: break out changes for the utils module so that they
>       can be applied ahead of time to ease dep bumping
>     - don't show Job IDs in the backup/replication job columns
>   - v3:
>     - Drop already applied patches for `proxmox`
>     - Rebase onto latest master - minor conflict resolution was needed
>   - v2:
>     - include 'type' metadata field for forwarded mails
>       --> otherwise it's not possible to match them
>     - include Maximilliano's T-b trailer in UI patches
> 
> pve-guest-common:
> 
> Lukas Wagner (1):
>   vzdump: common: allow 'job-id' as a parameter without being in schema
> 
>  src/PVE/VZDump/Common.pm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 
> pve-manager:
> 
> Lukas Wagner (5):
>   api: jobs: vzdump: pass job 'job-id' parameter
>   ui: dc: backup: allow to set custom job id in  advanced settings
>   api: notification: add API for getting known metadata fields/values
>   ui: utils: add overrides for translatable notification fields/values
>   d/control: bump proxmox-widget-toolkit dependency to 4.1.4
> 
>  PVE/API2/Backup.pm                          |   2 +-
>  PVE/API2/Cluster/Notifications.pm           | 139 ++++++++++++++++++++
>  PVE/API2/VZDump.pm                          |  13 +-
>  PVE/Jobs/VZDump.pm                          |   4 +-
>  PVE/VZDump.pm                               |   6 +-
>  debian/control                              |   2 +-
>  www/manager6/Utils.js                       |  11 ++
>  www/manager6/dc/Backup.js                   |   4 -
>  www/manager6/panel/BackupAdvancedOptions.js |  23 ++++
>  9 files changed, 192 insertions(+), 12 deletions(-)
> 

applied above for now, we probably should bump manager soonish and then can
apply below.

> 
> proxmox-widget-toolkit:
> 
> Lukas Wagner (4):
>   notification: matcher: match-field: show known fields/values
>   notification: matcher: move match-field formulas to local viewModel
>   notification: matcher: move match-calendar fields to panel
>   notification: matcher: move match-severity fields to panel
> 
>  src/data/model/NotificationConfig.js  |  12 +
>  src/window/NotificationMatcherEdit.js | 613 ++++++++++++++++++--------
>  2 files changed, 441 insertions(+), 184 deletions(-)
> 
> 
> pve-docs:
> 
> Lukas Wagner (3):
>   notifications: describe new notification metadata fields
>   notifications: match-field 'exact'-mode can now match multiple values
>   notifications: add note regarding when 'job-id' is set for backups
> 
>  notifications.adoc | 42 +++++++++++++++++++++---------------------
>  1 file changed, 21 insertions(+), 21 deletions(-)
> 
> 
> Summary over all repositories:
>   13 files changed, 655 insertions(+), 218 deletions(-)
> 


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  parent reply	other threads:[~2024-07-22 17:51 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-08  9:37 [pve-devel] " Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH pve-guest-common v9 01/13] vzdump: common: allow 'job-id' as a parameter without being in schema Lukas Wagner
2024-07-22 17:12   ` [pve-devel] applied: " Thomas Lamprecht
2024-07-08  9:38 ` [pve-devel] [PATCH manager v9 02/13] api: jobs: vzdump: pass job 'job-id' parameter Lukas Wagner
2024-07-22 17:34   ` [pve-devel] applied: " Thomas Lamprecht
2024-07-08  9:38 ` [pve-devel] [PATCH manager v9 03/13] ui: dc: backup: allow to set custom job id in advanced settings Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH manager v9 04/13] api: notification: add API for getting known metadata fields/values Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH manager v9 05/13] ui: utils: add overrides for translatable notification fields/values Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH manager v9 06/13] d/control: bump proxmox-widget-toolkit dependency to 4.1.4 Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH widget-toolkit v9 07/13] notification: matcher: match-field: show known fields/values Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH widget-toolkit v9 08/13] notification: matcher: move match-field formulas to local viewModel Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH widget-toolkit v9 09/13] notification: matcher: move match-calendar fields to panel Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH widget-toolkit v9 10/13] notification: matcher: move match-severity " Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH docs v9 11/13] notifications: describe new notification metadata fields Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH docs v9 12/13] notifications: match-field 'exact'-mode can now match multiple values Lukas Wagner
2024-07-08  9:38 ` [pve-devel] [PATCH docs v9 13/13] notifications: add note regarding when 'job-id' is set for backups Lukas Wagner
2024-07-22 17:36 ` Thomas Lamprecht [this message]
2024-09-23 11:27   ` [pve-devel] partially-applied: [PATCH many v9 00/13] notifications: notification metadata matching improvements Lukas Wagner
2024-09-23 15:23     ` [pve-devel] applied-series: " Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=22716cc9-03f0-4be7-b85f-1c1fe3f736d7@lamprecht.org \
    --to=thomas@lamprecht.org \
    --cc=l.wagner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal