Check labels use valid diskimages in config validator

OpenDev tripped over this. Add validation to the validator tool that
provider pool labels use diskimages that are defined in the main
diskimages list.

Change-Id: Icbfaaa6342dfcc1d555f9b45f278d0e59467f2b3
This commit is contained in:
Clark Boylan 2022-09-20 12:37:00 -07:00
parent f31a0dadf8
commit 00b20b0b39
1 changed files with 8 additions and 1 deletions

View File

@ -142,9 +142,16 @@ class ConfigValidator:
for label in pool.get('labels', []):
if label['name'] not in labels:
errors = True
log.error("diskimage %s in provider %s "
log.error("label %s in provider %s "
"not in top-level labels" %
(label['name'], provider['name']))
label_di = label.get('diskimage')
if label_di and label_di not in diskimages:
errors = True
log.error("label %s in provider %s uses diskimage %s "
"which is not defined in the main "
"diskimages list" %
(label["name"], provider["name"], label_di))
diskimages = {}
for diskimage in config.get('diskimages', []):