Multipass on Mac

Multipass from Canonical is a tool for quickly deploying VM’s (running Ubuntu) on the native Hypervisor, the VM also has a kernel optimized for the Hypervisor.

Pros and Cons

  • Rapid provisioning with cloud-init
  • Better performance than Virtualbox
  • Difficult networking options (no bridge, no secondary network cards, no secondary IP addresses that work (some workarounds later)

First the basics

Create machines

$ multipass launch --name machine1 -d 8G -m 4192M -c 4
$ multipass launch --name machine2 -d 8G -m 1024M -c 1

Shell

$ multipass exec machine1 -- bash

List Machines

$ multipass list
Name              State             IPv4             Image
machine1          Running           192.168.64.2   Ubuntu 18.04 LTS
machine2          Running           192.168.64.3   Ubuntu 18.04 LTS

Problems with networking

Some things just don’t work very well. For example, using cloud-init to set a fixed IP address. The machine will ignore this and acquire a dhcp address from they hypervisor/bootp. Adding a second nic is not possible. Adding a second IP to the existing nic is possible but it will have limited functionality. Manually changing the IP will cause the multipass cmd to get disconnected from the VM making it hard to delete the VM or get a shell on it.

Workaround for static address on Mac

On your Mac after you have created a machine you will have a file called /var/db/dhcpd_leases this is where the machine gets its address from. Edit this file and assign the addresses you want (you must keep 192.168.). Restart your VM’s and they will be dynamically be assigned your static address.

sudo vi /var/db/dhcpd_leases
{
        name=machine2
        ip_address=192.168.64.102
        hw_address=1,aa:74:48:50:b9:b9
        identifier=1,aa:74:48:50:b9:b9
        lease=0x5e7b72c5
}
{
        name=machine1
        ip_address=192.168.64.101
        hw_address=1,56:2:58:38:b1:7d
        identifier=1,56:2:58:38:b1:7d
        lease=0x5e7b72c4
}

$ multipass list
Name              State             IPv4             Image
machine1          Running           192.168.64.101   Ubuntu 18.04 LTS
machine2          Running           192.168.64.102   Ubuntu 18.04 LTS

Other issues

DNS resolution becomes difficult if you use a VPN, but at least using the above and a hosts file you should be able to get by.

2 Weeks with a Macbook Pro 2017 in New York

Things change

Since I last posted, I’ve left my job of 17 years and started a new adventure with MongoDB.  My daily work machine  is no longer a Dell Latitude running Windows 10, but a 2017 Macbook Pro 15.  I still have my personal Dell XPS 13 happily running Solus and Windows 10, but how does the Mac stand up.

Transition

Moving from Windows to Mac OS would be a big leap, but moving from Gnome 3 to Mac OS is not a challenge at all.  Some of the keyboard shortcuts are different, some of the touch pad gestures are different, but essentially most things work just about the same.  That’s a very good thing.

Software Differences

Not having a package manager and having to go to websites and download things was a bit of a pain but easily solved by installing brew.  Windows not snapping to screen edges has been annoying me for some time, but I’m sure that can be solved.  Hitting X to close a window but instead the app minimizes to the dock and resets is actually closing confusing me daily.

The amount of times I’ve x’ed my web browser, then clicked it again a few minutes later expecting it to reload my tabs from the previous session, but instead being greeted with a fresh browser with no tabs.  So I mentally have to tell myself to do Command+Option+Q if I want to close something.

Hardware Differences

CPU/Memory and disk speed are as near as makes no difference.  I’m not going to complain about only having USB-C ports, I have one dongle with HDMI/USB-A and that’s enough.  My laptop is not connected to anything with a cable long enough for it to be a problem.

The keyboard is shocking.  I’ve tried really hard to get along with it, but it just slows you down constantly.  I used it for 2 weeks exclusively while in New York without touching another computer or external keyboard and still don’t like it.  I hope that changes soon as I type a lot.

Fingerprint sensor is great.  So quick and easy to unlock the machine when you have a complex password.

Touchpad is supposed to be amazing, buts its just average to me, nothing special.

Conclusion

You can get work done on this machine, you can install everything you need and get focused on the task at hand.  It would not be my first choice, but if your employer hands you one you’ll be very happy with it.  Just try get a Magic Keyboard/Mouse also.  Given the choice I’d go with a XPS 15 Developer Edition, but the difference is almost insignificant.