Recently, I needed to deploy VCSA 8.0.0 in a VMware Cloud Director environment, which initially ended up with the following cryptic error message when trying to import the VCSA OVA file from the installer ISO into a VCD vApp template:
Error: Validation failed for the OVF file you provided: Fatal: Line/char 578/96: cvc-minInclusive-valid: Value ‘-100’ is not facet-valid with respect to minInclusive ‘0’ for type ‘unsignedShort’.
Although not officially supported by VMware, I came up with the following solution: Replace the mentioned value with a valid one in the OVF file as an unsigned short data type cannot have a negative value, i.e. it must be in the range of 0 to 65535. Thus, we’ll simply remove the sign from the value and store it as “100” in the OVF file.
The procedure to achieve this is as follows:
First we must extract the OVF file from the VCSA OVA file which comes with the installer ISO using ovftool (note: in this example the VCSA installer ISO has been mounted as drive E
on a Windows system, the OVF file along with the other files will be stored in D:\Store
):
PS D:\Store> E:\vcsa\ovftool\win32\ovftool.exe E:\vcsa\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ova D:\Store\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ovf
Opening OVA source: E:\vcsa\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ova
The manifest validates
The provided certificate is in valid period
Source is signed but could not verify certificate (possibly self-signed)
Certificate information:
CertIssuer:/C=US/ST=California/L=Palo Alto/O=VMware, Inc.
CertSubject:/C=US/ST=California/L=Palo Alto/O=VMware, Inc.
-----BEGIN CERTIFICATE-----
MIIDyzCCArOgAwIBAgIJAIR/y018RgMXMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNV
BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRIwEAYDVQQHDAlQYWxvIEFsdG8x
FTATBgNVBAoMDFZNd2FyZSwgSW5jLjAeFw0xNjA5MDgwMTE3MjFaFw0yOTEyMzEw
MTE3MjFaME0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRIwEAYD
VQQHDAlQYWxvIEFsdG8xFTATBgNVBAoMDFZNd2FyZSwgSW5jLjCCASAwDQYJKoZI
hvcNAQEBBQADggENADCCAQgCggEBALU9NUtC39fqG7yo2XAswUmtli9uA+31uAMw
9FFHAEv/it8pzBQZ/4r+2bN+GnXOWhuDd1K4ApKMRvoO4LwQfZxrkx4pXrsu0gdb
4OunHw0D8MrdzSoob8Js/uq+IJ+8Bhsc6b7RzTUt9HeDWzHasAJVgMsjehGt23ay
9FKOT6dVD6D/Xi3qJnB/4t/XNS6L63dC3ea4guzKDyLaXIP5bf/m56jvVImFjhhT
W2ASbnEUlZIVrEuyVcdG7e3FvZufE553JmHL0YG/0m5bIHXKRzBRx0D3HHOAzOKw
kkOnxJHSTN4Hz8hSYCWvzUAjSYL3Q8qiTd7GHJ2ynsRnu3KlzKUCAQOjga8wgaww
HQYDVR0OBBYEFHg8KQJdm8NPQDmYP41uEgKG+VNwMH0GA1UdIwR2MHSAFHg8KQJd
m8NPQDmYP41uEgKG+VNwoVGkTzBNMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2Fs
aWZvcm5pYTESMBAGA1UEBwwJUGFsbyBBbHRvMRUwEwYDVQQKDAxWTXdhcmUsIElu
Yy6CCQCEf8tNfEYDFzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAD
K9uUhsXzpuUcWJq83Vh2HHSxZ/DdR6h+FNYHfEX8h8DOIwhRHhIHoqXkwwnpbjip
FBtSzNKzTmzMQBwB7GwzGSsBO2TU8alX2ssnDg2AqwgIeLzclfaQlYoid678Krew
nFryr9PYMntr7uyU1duesmey12GS2z5UIhA4BaOnrPJcLCP22nXVlPEsa46ob7XH
j4ngZ0ck/qE58Z90GaAuxaa2R3OlHQ+AhXc3q5IixqMDa0MLPd41Qv2kC5iZ+tCf
XVdlf4/RqQBNHR8FFVxcjpaROId9Y9/yHdsMt55nN7pf7vRf5vSk1bHvLmlOYgiR
tAj6rdPq0c+/C+fct1cM
-----END CERTIFICATE-----
Opening OVF target: D:\Store\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ovf
Writing OVF package: D:\Store\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ovf
Transfer Completed
Completed successfully
PS D:\Store>
Next, we open the OVF file in a text editor, go to line 578, and remove the minus character from the “ovf:id” attribute value “100” of the OperatingSystemSection element:
<OperatingSystemSection ovf:id="100" vmw:osType="other3xLinux64Guest">
<Info>The kind of installed guest operating system</Info>
</OperatingSystemSection>
Then we delete the original Manifest file so that validation will not fail due to the change.
Now we create a new OVA file (I did this, because importing the OVF file directly into VCD also failed with an error, stating that the OVF file was referencing more vmdk files):
PS D:\Store> E:\vcsa\ovftool\win32\ovftool.exe --skipManifestCheck D:\Store\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ovf D:\Store\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ova
Opening OVF source: D:\Store\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ovf
Opening OVA target: D:\Store\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ova
Writing OVA package: D:\Store\VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ova
Transfer Completed
Completed successfully
PS D:\Store>
Finally, I was able to successfully import the manually crafted OVA file as a vApp template into the VMware Cloud Director catalog.
Leave a Reply