+
+ # flavor
+ flavor_data = copy(vdu.get("vm-flavor", {}))
+ flavor_data["guest-epa"] = vdu.get("guest-epa")
+ f = next((f for f in nsr_descriptor["flavor"] if
+ all(f.get(k) == flavor_data[k] for k in flavor_data)), None)
+ if not f:
+ flavor_data["vim_info"] = []
+ flavor_data["name"] = vdu["id"][:56] + "-flv"
+ flavor_data["id"] = str(len(nsr_descriptor["flavor"]))
+ nsr_descriptor["flavor"].append(flavor_data)
+ f = flavor_data
+ vdur["ns-flavor-id"] = f["id"]
+
+ # image
+ if vdu.get("image"):
+ image_data = {"image": vdu["image"], "image_checksum": vdu.get("image_checksum")}
+ img = next((f for f in nsr_descriptor["image"] if
+ all(f.get(k) == image_data[k] for k in image_data)), None)
+ if not img:
+ image_data["vim_info"] = []
+ image_data["id"] = str(len(nsr_descriptor["image"]))
+ nsr_descriptor["image"].append(image_data)
+ img = image_data
+ vdur["ns-image-id"] = img["id"]
+