Config translation failed [Reason: Translation failed for type : LOGICAL_SWITCH and mp ids: <List of LS IDs> Cannot invoke \"com.vmware.nsxapi.dhcp.dto.DhcpOptionsDto.getOthers()\" because \"mpoptions\" is null]"
VMware NSX 4.X
The migration-coordinator/promoter requires the options field to be populated for LOGICAL_SWITCH and DHCP-related objects. Due to historical object creation mechanics, some older objects do not have this field defined. The migration process does not remove the data; it simply fails when it encounters the missing value.
This is a known issue impacting VMware NSX.
To workaround this issue, you must ensure all of the DHCP servers in use by the impacted logical switches have options field present, even if empty. This can be resolved in two ways.
With both workaround options, first the relevant DHCP servers must be identified.
https://<nsx-manager>/api/v1/migration/mp-to-policy/feedbackNote the mp_id values from the results where the type is LOGICAL_SWITCH.
https://<nsx-manager>/api/v1/logical-ports?logical_switch_id=<failed-ls-id>&attachment_type=DHCP_SERVICE'Note the attachment.id from the result — this is the DHCP server ID.
https://<nsx-manager>/api/v1/dhcp/servers/<dhcp-server-id>If the ipv4_dhcp_server section is missing the options field entirely, this confirms the issue.
{ "ipv4_dhcp_server": { "dhcp_server_ip": "192.168.1.2/24", "dns_nameservers": [ "8.8.8.8" ], "gateway_ip": "192.168.1.1", "monitor_ippool_usage": false }}{ "ipv4_dhcp_server": { "dhcp_server_ip": "192.168.1.2/24", "dns_nameservers": [ "8.8.8.8" ], "gateway_ip": "192.168.1.1", "options": { "others": [ { "code": 1, "values": [ "255.255.255.0" ] } ] }, "monitor_ippool_usage": false }}
Note - If promotion was performed and then review of the error has been delayed, some of the errored DHCP servers may now appear to have options. This is due to any changes to the objects will trigger an addition of the options fields. If this is the case these servers do NOT need the workaround re-applying. Validate all relevant errored servers have options fields present.
Workaround 1 - Force NSX to regenerate the DHCP options by updating the DHCP server's gateway_ip field via API. This causes NSX to re-derive the subnet mask option from the server IP CIDR.
https://<nsx-manager>/api/v1/dhcp/servers/<dhcp-server-id>
https://<nsx-manager>/api/v1/dhcp/servers/<dhcp-server-id>
Re-run promotion
Workaround 2 - Trigger an update via a GUI change.
https://<nsx-manager>/api/v1/dhcp/servers/<dhcp-server-id>