Skip to content
django-nms

Migrate from LMS

From LMS to django-nms without taking the network down

Importers read the LMS database through a read-only MySQL bridge. Every step runs as a dry run with a CSV report first, then writes. The network stays up throughout.

  • IP networks, hosts, MAC addresses, tariff speeds, node assignments
  • Customer mapping by tax ID, then by name, with the LMS id stored
  • Idempotent: an import can be repeated without duplicates

What we move automatically

The lms_bridge maps LMS tables (customers, tariffs, assignments, nodes, networks, macs, nodeassignments) as read-only models. Import commands run dry by default and produce a CSV report. Only the commit flag changes data. Every imported object remembers its source id, so a repeated import updates instead of duplicating.

  • LMS networks to IPAM pools with gateway, DNS and DHCP range
  • CPE nodes to subscriber hosts with tariff speeds and multiple MACs
  • LMS customers matched to django-nms customers by tax ID, then by name
  • Host-to-location linking and legacy service speed mapping

Migration step by step

  1. Discovery (week 1). Read-only access to the LMS database. We run dry imports and send back reports: how many networks, hosts and customers match automatically, where the gaps are.
  2. Financial data (weeks 1–2). Customers, contracts and tariffs are set up in django-nms as the source of truth. Invoice and payment history stays in LMS for reference; balances move as an opening balance. Full import of LMS contracts and invoices is on the roadmap.
  3. Network (week 2). IP networks and hosts imported with commit. We generate the RADIUS configuration in parallel with lmsd and compare results.
  4. Cut-over (week 3). FreeRADIUS switched to django-nms files outside peak hours. lmsd stays as a fallback for a few days.
  5. First month. First invoices with e-invoicing, first statement import. We are on the phone.

Scope and timing depend on the state of the LMS data. Network migration is included in the Growth and Scale plans.

Migration questions

Will you move the invoice history from LMS?

Today we move the opening balance. Importing historical documents and payments from LMS tables is on the roadmap. LMS can stay in read-only mode as an archive.

Do I need downtime?

Not for the network. The RADIUS switch is a file swap and a service restart. Invisible to customers.

What about the LMS Userpanel?

The customer portal in django-nms is on the roadmap. Until then customers receive invoices and reminders by e-mail and SMS.

Send us a schema dump of your LMS database

No personal data. We will tell you how much of your network moves automatically.