Enhanced MAAS Network Testing and Link Checking

I remember getting my own phone line when I was about thirteen years old, thanks to my first job in a grocery. My friend, Evan, could tell you all about the sounds that happen before the called party’s phone starts to ring. He could tell you the routing, the set-up delay, and even warn you when the Jane Barbe intercept message was coming. He could also tell you, most of the time, what kind of equipment had routed it (e.g., Crossbar). I traded a lot of pizza for just a little of his learning, a very handy skill to pick up.

With the upcoming release of MAAS 2.7, Metal-as-a-Service has basically gained that skill, to your benefit. One of the big features of MAAS 2.7 is network testing that identifies broken and slow network links when you try to commission machines. In this release, we offer specific link tests, as well as the ability to test networking in a configurable way, even using your own scripts.

First, MAAS tests whether links are connected or disconnected. Previously, when commissioning, you couldn’t detect unplugged cables. Now you can, sort of like knowing the telephone line noise change when you’re about to hear that "your call did not go through."You do have to take a couple of steps: First you have to upgrade to 2.7, then run commissioning again to see if a link is disconnected. But you no longer have to puzzle over what’s broken when this happens.

Second, MAAS makes sure you’re getting the most out of your link speed. As servers and hardware get faster – 10G, 40G, even 100G NICs – the chances increase that you might plug your 10G NIC into a 1G switch, for example. Just like when I would call my grandmother long-distance, and I had some idea how long till the the “ring” happened, just from call set-up noises.

Previously, with MAAS, you’d be stuck with the speed of the slowest link, but there wasn’t a way to verify your link speed without recommissioning. Depending on your physical hardware, that might still be an issue, but the MAAS UI can now warn you if your interface is connected to a link slower than what the interface supports. And all information shown in the UI is available via the API, as well. You can still replace a slow switch without recommissioning.

Third, MAAS allows you to configure network connectivity testing in a number of ways. If you can’t connect to the rack controller, deployment can’t complete, the same way that Evan sometimes knew right away that a call wouldn’t go through (I never mastered that one). Now MAAS can check connectivity to the rack controller and warn you if there’s no link, long before you have to puzzle over it.

If you can’t connect to your gateway controller, traffic can’t leave your network. It’s a little like trying to call long-distance without dropping a dime: you can dial, but the call won’t go through. MAAS can now check this link and recognize that there’s no connectivity, which alleviates a lot of annoying (and sometimes hard-to-detect) network issues.

Fourth, Internet connectivity testing has been greatly expanded. Previously, MAAS gave a yes/no link check during network testing, like the ANI numbers that would read you back your phone number: nice to know, but it’s not a great revelation. Now you can give a list of URLs or IP addresses to check.

In the ephemeral environment, standard DHCP is still applied, but when network testing runs, we can apply your specific configuration for the duration of the test. While all URLs / IPs are tested with all interfaces, we do test each of your interfaces individually, including breaking apart bonded NICS and testing each side of your redundant interfaces.

You can also run different tests on each pass, e.g., a different set of URLs, although each run would be a different testing cycle (one number, one phone call). For testing individual interfaces, you can use the API.

Of course, the main feature for 2.7 is improved – and customisable – network testing. You can now create your own commissioning scripts and tests related to networking. You can create your own network tests (e.g., a network throughput test) and run them during the network testing portion of the MAAS workflow. There are no particular restrictions on these scripts, so you can test a wide variety of possible conditions and situations. On the phone system, this was only something I could do when the phone tech came around and let me hook up his telephone test set. As I said, enough decent pizza and anything is possible.

Okay, gotta go. Phone’s ringing.