The API endpoints allow users to set empty 'nodes' and 'resources'
properties for HA rules, which are not handled by the api schema
verification nor the api handlers themselves.

PATCH 1 fixes the

    got unexpected error - cannot lookup undefined type! at
    /usr/share/perl5/PVE/HA/Config.pm line 232.

error message for existing configs with invalid sections, which prevents
the CRM from doing any other progress. It will only keep logging the
hint that a section misses a required option.

PATCH 2 prevents users from passing empty strings for the 'nodes' and
'resources' parameters, which are catched before these are written to
the rules config itself.

A more general solution is proposed in [0], which fixes this behavior in
PVE::SectionConfig itself.

[0] 
https://lore.proxmox.com/pve-devel/[email protected]/

Daniel Kral (2):
  rules: ensure rule is defined and has type in set_rule_defaults
  api: rules: check for non-empty nodes and resources properties

 src/PVE/API2/HA/Rules.pm | 16 ++++++++++------
 src/PVE/HA/Rules.pm      |  3 ++-
 2 files changed, 12 insertions(+), 7 deletions(-)

-- 
2.47.3




Reply via email to