MAAS installation from packages

Procedure for versions 2.7 and below only: This page covers the obsoleted use of deb/APT packages to install MAAS. With the advent of MAAS 2.7.0, installation via snap is the recommended method to acquire MAAS. Please note that using this method with versions 2.8 and above is not recommended.

You may want to consider an installation within LXD containers. These containers allow MAAS nodes to also run as local containers and are ideal for testing and experimenting with MAAS.

Packages

There are three packages to consider when installing MAAS:

  • maas-region-controller - region API server, database, DNS, HTTP proxy, and web UI
  • maas-rack-controller - rack controller and DHCP
  • maas - a metapackage that installs both the above packages to provide a complete MAAS environment

Each of the above packages has its dependencies. That is, each will bring in other MAAS packages not listed above. You can see the full list of MAAS packages with the command:

apt-cache search maas

As an example, running this command might produce output that looks like this:

The ‘maas’ metapackage is the recommended way to install MAAS. See the Introduction for more detail on colocating all services on a single host. Note that high availability with MAAS involves installing multiple region/rack controllers. See MAAS HA for more information on this topic.

Package repositories

While MAAS is available in the normal Ubuntu archives, the available packages may be lagging non-archive, but still stable, versions. For example, you can check the available versions of MAAS by typing:

apt-cache madison maas

which produces output similar to this:

You can install a newer stable version via PPAs listed on the MAAS launchpad, including:

For example, to add the 2.7 PPA, type:

sudo apt-add-repository -yu ppa:maas/2.7

which produces output similar to:

If you check available versions again, you will see that the new repository is now available:

Installation scenarios

The recommended way to set up an initial MAAS environment is to put everything on one machine:

sudo apt install maas

Executing this command leads you to a list of dependent packages to be installed, and a summary prompt that lets you choose whether to continue with the install:

Choosing “Y” proceeds with a standard apt package install.

Distributed environment

For a more distributed environment, you can place the region controller on one machine:

sudo apt install maas-region-controller

and the rack controller (see Rack controller for details) on another:

sudo apt install maas-rack-controller
sudo maas-rack register

These two steps will lead you through two similar apt install sequences.

Creating a MAAS user

Finally, you will need to create a MAAS administrator user to access the web UI:

sudo maas createadmin --username=$PROFILE --email=$EMAIL_ADDRESS

For example, the process might go like this:

The username can be anything. You will also be prompted to supply a password for the user. The command option --password=$PASSWORD can be used to specify one but, depending on your environment, this may pose a security risk.

At this time, MAAS does not make use of the email address. However, it may do so in the future.

Finally, the createadmin option asks for an SSH key:

create-admin-ssh-key-prompt

If you have an SSH key associated with your launchpad or github accounts, you can enter the username here to include the key. For launchpad, just enter lp:username, and for github, enter gp:username at the prompt. In both cases, the actual username has to be supplied after the lp: or gh: prefix.

If you don't have a key associated with either of these services, you will have an opportunity to paste your public key into the MAAS SSH key list, after you've started MAAS for the first time as part of the welcome screens.

Once all this is done, you’re ready to access MAAS from the web UI and begin your Configuration journey.

From https://github.com/canonical-web-and-design/maas.io/issues/409

Docs mentions ppa:maas/stable, but the PPA page mentions that it is deprecated and that ppa:maas/2.6 should be used.

(Was Latest MAAS stable release).

New major version PPAs are now in place, please use e.g. ppa:maas/2.6 instead

I’ve created an edit to at least point people to the right places now.