in scripts/validate_crds.py [0:0]
def equal_schema(args):
kinds = args.kinds.split(",")
versions = args.versions.split(",")
with open(args.file, 'r') as stream:
try:
docs = yaml.safe_load_all(stream)
for val in docs:
if val is None:
continue
kind = val["spec"]["names"]["kind"]
if kind in kinds:
print("Checking schema equality in " + kind + "...")
for version in val["spec"]["versions"]:
if version["name"] in versions:
try:
schema
except NameError:
schema = version["schema"]["openAPIV3Schema"]
else:
if version["schema"]["openAPIV3Schema"] != schema:
print(version["name"] + " of " +
kind + " has a different schema")
recursive_compare(
version["schema"]["openAPIV3Schema"], schema)
return -1
del schema
except yaml.YAMLError as exc:
print(exc)
return -1
return 0