Last Tuesday night, my USG Pro died. I got it secondhand and I got almost five years use out of it, so it was past time for a more performant replacement.

After several factory resets the USG still wouldn’t respond to network at all, which is, shall we say, problematic when a device is the security gateway that routes all of my home’s network traffic through it. I have Unifi switches and Unifi wireless access points, so I wanted to continue being able to use one controller interface for everything, so Wednesday morning I ordered a Unifi Dream Machine Pro to replace the security gateway. I couldn’t bring myself to pay $50 for overnighting it, so we made do with the C3000A modem Centurylink provided to terminate our gigabit drop - its wifi is awful though, so I only put our laptops and the Roku on its wifi network. It was struggling with 5 devices and I didn’t want to throw another 40 at it - we needed to be able to work until the replacement arrived.

UPS Ground was faster than I expected and the UDM Pro arrived at around 7pm Friday. After a couple of days of the house feeling lobotomized because the automation was offline, I started the replacement right away.

First impressions: packaged very well, and they included a little foam strip that they embedded all the mounting screws and cage nuts that was a nice touch - I could pull them out one by one and not worry about the cat supervising my work knocking them all onto the basement floor and scattering them.

udm-pro-fasteners

It would have been nicer if it was recyclable, but it was convenient. The IOS application for setting it up was good, and it connected via Bluettoth so I didn’t have to hassle with fping or nmap to find out what IP the UDM Pro was assigned by the router, and I was able to use it to kick off software updates.

While I was waiting for the UDM to arrive, I had imported a backup from my old controller (yes, I should have updated it long ago, but it never got up to the top of my backlog since it was working just fine) running 5.10.17 into a new controller running in the latest docker container so I could export from the new container into a file with the latest format. Even after updating the UDM, it claimed that the one I’d exported from network 7.4.162 running in docker was too new to import but at least it was happy to read the 5.10.17 backup. The one thing I didn’t have documented about my network were the MAC addresses tied to all my static DHCP assignments, so that’s another project. I want to give Unifi kudos for importing a backup that was two major revisions old with absolutely no hassle - I had done that ahead of time because I was dreading having to load old controller versions sequentially to get the backup updated to the present, but it turned out to be a non-issue.

In hindsight the backup file version issue was my fault - I had updated the base UnifiOS for the device, and didn’t realize that the Network application needed a separate update until after I’d already just imported the older backup version.

After restoring from the backup file, both of my switches both were immediately adopted as soon as I plugged their uplink connections into the UDM, but my APs both needed an advanced adoption before they’d join to the controller. Fortunately I’d enabled SSH in the device settings when I initially set them up, so it only took a couple of minutes to get them adopted as well.

With the exception of my N2 running armbian, everything in the rack just came up and quietly started working again as soon as the switches were connected to the UDM and they could get DHCP leases. In particular, my moosefs cluster came back online with no issues - even after being unable to talk to the master for 3 days the chunkservers all just reconnected to the master as soon as they got a DHCP lease. The master started some replication of blocks until all the chunkservers had connected and it realized all the files had hit their replication goals. I didn’t even have to remount the filesystem on the client machines.