Lattice does not parse Microsoft XML, dhcpd.conf, Kea JSON, or Infoblox CSV. Same rule as NetBox: you dump, you map, you call /api/v1. There is no “import leases and keep ISC failover.”
What moves
| Their object | Lattice | Import? |
|---|---|---|
| Scope / subnet | Prefix + subnet | Yes |
| Dynamic range | Pool | Yes |
| Exclusion | Exclude (gateway, VIP) | Yes |
Reservation / host / fixed-address | Reservation (IP + MAC or DUID) | Yes |
| Scope options | Subnet fields + DHCP options | Yes — map, do not paste conf snippets |
| PXE next-server / file | Subnet PXE fields | Yes |
| Live leases | Lease rows | No |
| Failover partner / split scope | — | Throw away. Shared Postgres is HA |
Reservations count as managed IPs. 800 Microsoft reservations on community (1,000) leaves little room for dynamic leases.
Cutover
- Build the plan in Lattice while relays still point at the old server. First subnet.
- Prove one VLAN: one relay,
giaddrin that subnet, a test Ack on Overview. - Shorten the old lease time a day before.
- Switch relays to Lattice. Set trusted relays. Relays. Deactivate old scopes the same hour.
- Keep the old box until Renews succeed for a full old-lease period. Rollback = point relays back.
A Renew of an IP Lattice never Acked is a NAK, then Discover. The client may get a new IP. That is expected.
| Goal | What to do |
|---|---|
| IPs may change | Pools + real reservations only |
| Printers keep IPs | Those MACs as reservations |
| Almost everyone keeps the current IP | Seed reservations from the old lease dump, then delete the ones you want dynamic later (still counts on the cap until you do) |
Do not load dhcpd.leases or Microsoft lease XML into Lattice. Do not run both servers on the same VIP.
Vendor dump
Microsoft DHCP (PowerShell):
Get-DhcpServerv4Scope | Export-Csv scopes.csv -NoTypeInformation
Get-DhcpServerv4Reservation -All | Export-Csv reservations.csv -NoTypeInformation
Get-DhcpServerv4ExclusionRange -All | Export-Csv exclusions.csv -NoTypeInformation
Get-DhcpServerv4OptionValue -All | Export-Csv options.csv -NoTypeInformation
Normalize ClientId to aa:bb:cc:dd:ee:ff. Failover relationships do not come with you.
ISC dhcpd: read subnet / range / host { hardware ethernet; fixed-address }. Human for shared-network and allow/deny pools.
Kea: subnet4, pools, reservations in kea-dhcp4.conf. kea-admin lease-dump is a reservation seed, not a lease import.
dnsmasq: dhcp-range, dhcp-host. Type them in Plan if the file is small.
Infoblox / BlueCat: CSV or WAPI → the same four objects. Not Grid XML.
Then POST prefixes, subnets, excludes, pools, reservations, option 6. API. Options. Option 6 is usually AD/Unbound, not lattice-dns. How clients find DNS.
NAK storms after cutover: add reservations for devices that must keep the address, or widen the pool so Discover can reissue the old IP. Do not “import the lease file.”