Currently, the `load_custom_properties` logic treats the schema file
(schema-image.json) strictly as a flat dictionary of property definitions.
This limits the ability to enforce mandatory properties because top-level
keys like "required" are ignored or cause errors during merging.
This commit enhances the schema loading logic to support a structured
JSON format:
{"properties": {...}, "required": [...]}
This change allows operators to define both custom properties and
mandatory fields via the schema file, satisfying both discoverability
and enforcement requirements.
Backward compatibility is maintained by detecting the format; existing
flat JSON files will continue to work as before.
Change-Id: I6f4bdb78809511931b160c88e9173432fd2e6d06
Signed-off-by: Mitsuhiro Tanino <mitsuhiro.tanino@lycorp.co.jp>