After upgrading to ovftool v4.4, ovftool started breaking on a specific ExtraConfig parameter. It seems to be working correctly with all other ExtraConfigs, but adding a specific entry is causing it to break.
With a standard set of ExtraConfig parameters specified in envoy-proxy-bae.ovf. Conversion to OVA goes through perfectly.
<vmw:ExtraConfig ovf:required="true" vmw:key="guest.command.enabled" vmw:value="false"/>
```
ubuntu@cdm-node:~$ ovftool --allowAllExtraConfig envoy-proxy-base.ovf test.ova
Opening OVF source: envoy-proxy-base.ovf
The manifest validates
Opening OVA target: test.ova
Writing OVA package: test.ova
Transfer Completed
Warning:
- Wrong file size specified in OVF descriptor for 'envoy-proxy-base-1.vmdk' (specified: -1, actual 910012416).
Completed successfully
```
However, when we add the following entry to the list of ExtraConfigs, ovftool fails.
<vmw:ExtraConfig ovf:required="true" vmw:key="sched.mem.pin" vmw:value="true"/>
```
ubuntu@cdm-node:~$ ovftool --allowExtraConfig envoy-proxy-base.ovf test.ova
Opening OVF source: envoy-proxy-base.ovf
The manifest validates
Error: OVF Package is not supported by target:
- Line -1: Unsupported value 'sched.mem.pin' for attribute 'key' on element 'ExtraConfig'.
Completed with errors
```
Why is this specific ExtraConfig breaking ovftool? Is there something different about the naming that is causing the issue? Why do we only see this issue when this specific ExtraConfig is added to the ovf?
I tried importing VMware Workstation Pro 16.0 (which has OVF Tool 4.4.1.19957) an OVA with these 3 settings and it also fails.
But if these entries are set with ovf:required="false", it goes through without setting these in the vmx. As it is, I don't think these settings (sched.mem.pin, sched.mem.min, sched.mem.minSize) are applicable to Workstation Pro/Player/Fusion VMs and would only apply to VMs that are in an ESXi host.
Moderator: Thread moved to the OVFtool area.
The sched.mem.pin="TRUE" setting is the "Reserve all guest memory" in the VM RAM settings checked.
So is there the corresponding entries also specified?
sched.mem.min = "(RAM Size)"
sched.mem.minSize = "(RAM Size)"
I have set those entries in the OVF and am still seeing the same error. Is it possible this config doesn't support the VM RAM settings? Error is only occurring on these entries
```
ubuntu@cdm-node:~$ grep ExtraConfig envoy-proxy-base.ovf
<vmw:ExtraConfig ovf:required="false" vmw:key="nvram" vmw:value="envoy-proxy-base-latest.nvram"/>
<vmw:ExtraConfig ovf:required="true" vmw:key="guest.command.enabled" vmw:value="false"/>
<vmw:ExtraConfig ovf:required="true" vmw:key="sched.mem.pin" vmw:value="true"/>
<vmw:ExtraConfig ovf:required="true" vmw:key="sched.mem.min" vmw:value="0"/>
<vmw:ExtraConfig ovf:required="true" vmw:key="sched.mem.minSize" vmw:value="0"/>
<vmw:ExtraConfig ovf:required="False" vmw:key="keyboard.typematicmindelay" vmw:value="2000000"/>
ubuntu@cdm-node:~$
ubuntu@cdm-node:~$ ovftool --allowExtraConfig envoy-proxy-base.ovf
Error: OVF Package is not supported by target:
- Line -1: Unsupported value 'sched.mem.pin' for attribute 'key' on element 'ExtraConfig'.
- Line -1: Unsupported value 'sched.mem.min' for attribute 'key' on element 'ExtraConfig'.
- Line -1: Unsupported value 'sched.mem.minSize' for attribute 'key' on element 'ExtraConfig'.
ubuntu@cdm-node:~$
```
I also found Advanced Virtual Machine Attributes has a list of these extra configs but I don't believe this is the full list. Are there any docs for these extra configs?
The sched.mem.min and sched.mem.minSize values should not be 0 if you are "Reserving all memory". It should be equal to the configured RAM size for the VM. Assuming it is processed serially line by line, probably best to go with min and minSize before the pin.
Tried again with min and minSize set to positive values and defined before mem.pin. Still saw the same failures.
```
ubuntu@cdm-node-zfc2sy-dtzuvmq:/var/lib/rubrik/sdfs/staging/envoy$ grep ExtraConfig envoy-proxy-base.ovf
<vmw:ExtraConfig ovf:required="false" vmw:key="nvram" vmw:value="envoy-proxy-base-latest.nvram"/>
<vmw:ExtraConfig ovf:required="true" vmw:key="guest.command.enabled" vmw:value="false"/>
<vmw:ExtraConfig ovf:required="true" vmw:key="sched.mem.min" vmw:value="4096"/>
<vmw:ExtraConfig ovf:required="true" vmw:key="sched.mem.minSize" vmw:value="4096"/>
<vmw:ExtraConfig ovf:required="true" vmw:key="sched.mem.pin" vmw:value="true"/>
<vmw:ExtraConfig ovf:required="False" vmw:key="keyboard.typematicmindelay" vmw:value="2000000"/>
ubuntu@cdm-node-zfc2sy-dtzuvmq:/var/lib/rubrik/sdfs/staging/envoy$ sudo ovftool --X:logLevel=verbose --X:logFile=ovftool.log --allowExtraConfig envoy-proxy-base.ovf
Error: OVF Package is not supported by target:
- Line -1: Unsupported value 'sched.mem.min' for attribute 'key' on element 'ExtraConfig'.
- Line -1: Unsupported value 'sched.mem.minSize' for attribute 'key' on element 'ExtraConfig'.
- Line -1: Unsupported value 'sched.mem.pin' for attribute 'key' on element 'ExtraConfig'.
```
Tried running with verbose logging to see if there were any more helpful error messages. Seems like these extra configs are still not being allowed for some reason even though --allowExtraConfig was passed in and worked with the other ExtraConfigs.
```
2020-10-22T15:53:59.019Z verbose OVFTool[10940] [Originator@6876 sub=Default] The command line option --allowExtraConfig is specified: true
2020-10-22T15:53:59.019Z verbose OVFTool[10940] [Originator@6876 sub=Default] The command line option --exportFlags=extraconfig is specified: false
2020-10-22T15:53:59.019Z verbose OVFTool[10940] [Originator@6876 sub=Default] Whitelist allowed extra config: key=nvram
2020-10-22T15:53:59.019Z verbose OVFTool[10940] [Originator@6876 sub=Default] This extra config is allowed from command line option --allowExtraConfig: key=guest.command.enabled
2020-10-22T15:53:59.019Z verbose OVFTool[10940] [Originator@6876 sub=Default] This extra config is not allowed: key=sched.mem.min, but is required by the OVF package
2020-10-22T15:53:59.019Z verbose OVFTool[10940] [Originator@6876 sub=Default] This extra config is not allowed: key=sched.mem.minSize, but is required by the OVF package
2020-10-22T15:53:59.019Z verbose OVFTool[10940] [Originator@6876 sub=Default] This extra config is not allowed: key=sched.mem.pin, but is required by the OVF package
2020-10-22T15:53:59.019Z verbose OVFTool[10940] [Originator@6876 sub=Default] This extra config is allowed from command line option --allowExtraConfig: key=keyboard.typematicmindelay
2020-10-22T15:53:59.019Z verbose OVFTool[10940] [Originator@6876 sub=Default] ApplyOvfTransformations failed
```
I tried importing VMware Workstation Pro 16.0 (which has OVF Tool 4.4.1.19957) an OVA with these 3 settings and it also fails.
But if these entries are set with ovf:required="false", it goes through without setting these in the vmx. As it is, I don't think these settings (sched.mem.pin, sched.mem.min, sched.mem.minSize) are applicable to Workstation Pro/Player/Fusion VMs and would only apply to VMs that are in an ESXi host.
Ah that makes a lot more sense then! So we can only set these ExtraConfigs if we are deploying the OVA directly to an ESXi host. Otherwise ovftool will throw an error since the config doesn't apply when converting an OVF to an OVA or importing to something like Workstation. That clears it up. Thank you so much for your help bluefirestorm! Much appreciated.