- # do not add the server if it has the required metadata
- if set(required_metadata) <= set(v["properties"]["metadata"].keys()):
- continue
- invalid_nova_servers.append(k)
+ metadata = set(v.get("properties", {}).get("metadata", {}).keys())
+ missing_metadata = required_metadata.difference(metadata)
+ if missing_metadata:
+ msg_template = (
+ "OS::Nova::Server {} is missing the following "
+ + "metadata properties: {}"
+ )
+ errors.append(msg_template.format(k, missing_metadata))