Better support for air-gapped MAAS

Feature request:

This feature request is for MAAS to be able to conduct the full life cycle of a machine –
enlistment, commission, testing, deployment, etc. offline without requiring either
mirrored or upstream access to APT, snaps, or image repositories so as to facilitate a fully offline installation capability, out of the box within MAAS.

Right now, at many points during enlistment, commissioning and deployment, apt and snap packages (among other dependencies if there are any) are downloaded and installed in the images – even ephemeral ones, for the purposes of running scripts and completing tasks.

This behavior may be undesired in situations where MAAS is operating in an air-gapped or near air-gapped environment where direct or even indirect access to the internet or mirrors is restricted.

Existing features considered:

  • MAAS has existing facilities to be able to point it to local package mirrors and images
    for deployment, but this would still mean to set up ancillary services (apt mirror, reprepro etc.)
    in order for MAAS to function. This specific feature request is to forgo all of this and allow MAAS to somehow pre-cache all required files locally and operate with it (or via similar mechanisms to facilitate this offline mode of function).

I’m interested in this feature. We’ve got MAAS deployed behind an air-gap. I wasn’t involved in all of the implementation but there were a few prerequisites for us to get it working.

  1. Mirrors of the Ubuntu apt repositories (we have 18.04 and 20.04).
  2. We never got a snap store mirror set up, so we manually downloaded the MAAS snaps and their dependencies and installed them on a server. (I’ve read about the snap offline store but we never got that running. It looks like a bit of work and I’m not even sure we’ve got a license to run it.)
  3. An image of Ubuntu 20.04 LTS has been deployed in the MAAS Images area. (I’m not aware of how that step was done.)

It works very well, but obviously a bit of work required. It sounds like this feature request would be to solve 1 and 3 if I understand correctly? i.e. a machine deployment should be possible without any apt mirrors and without needing to sync in Ubuntu images for curtin deployment?

1 Like

Just adding my two cents to this as well. Air gap use cases seem to be a reality for machine management and MAAS. Debian/Ubuntu already have various tools to facilitate offline management of operating systems.

Tools like Landscape, APT, LXD, Microk8s have some builtin or configurable
mechanism to facilitate offline/air-gapped modes of work, so having this option MAAS would bring it in line with other Ubuntu related tools, I think.