assume a property is one when it isn't a number (#5647)

Co-authored-by: Daan Hoogland <dahn@onecht.net>
This commit is contained in:
dahn 2022-01-03 08:23:18 +01:00 committed by GitHub
parent 4ba2ad5397
commit 5f93bc8948
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 1 deletions

View File

@ -246,7 +246,17 @@ public class OVAProcessor extends AdapterBase implements Processor {
NodeList diskElements = new OVFHelper().getElementsByTagNameAndPrefix(ovfDoc, "Disk", "ovf");
for (int i = 0; i < diskElements.getLength(); i++) {
Element disk = (Element)diskElements.item(i);
long diskSize = Long.parseLong(disk.getAttribute("ovf:capacity"));
String diskSizeValue = disk.getAttribute("ovf:capacity");
long diskSize = 1;
try {
diskSize = Long.parseLong(diskSizeValue);
} catch (NumberFormatException e) {
// ASSUMEably the diskSize contains a property for replacement
LOGGER.warn(String.format("the disksize for disk %s is not a valid number: %s", disk.getAttribute("diskId"), diskSizeValue));
// TODO parse the property to get any value can not be done at registration time
// and will have to be done at deploytime, so for orchestration purposes
// we now assume, a value of one
}
String allocationUnits = disk.getAttribute("ovf:capacityAllocationUnits");
diskSize = OVFHelper.getDiskVirtualSize(diskSize, allocationUnits, ovfFileName);
virtualSize += diskSize;