Following on from MAAS 3.0 Beta RC1, we are happy to announce that MAAS 3.0 RC2 has been released. MAAS 3.0 provides some exciting new features, along with bug fixes for RC2, RC1, Beta 5, Beta 4, Beta 3, Beta 2 and Beta 1.
Call for testing
NOTE that this is currently a release candidate, so there may be bugs or instabilities. As such, we invite you to thoroughly test this release and provide feedback.
Please remember to file bugs as you find them, and please feel free to interact with the developers on discourse.
Installing the Beta
The Beta can be installed via packages on Ubuntu 20.04 LTS by adding the `3.0-next` PPA:sudo add-apt-repository ppa:maas/3.0-next
sudo apt install maas
It can be also be installed as a snap with:
sudo snap install --channel=3.0/candidate maas
Removing support for RSD pods
With the advent of MAAS 3.0, we are removing support for RSD pods. Registered pods and their machines will be removed by MAAS upon upgrading to MAAS 3.0.
Improvements to MAAS CLI help (Beta 4)
The MAAS CLI will now give you help in more places, supporting a more exploration-based interaction. Specifically, we now show help
for cases where the required arguments are not met.
Say you’re trying to find out how to list the details of a machine in MAAS e.g.
$ PROFILE=foo
$ maas login $PROFILE http://$MY_MAAS:5240/MAAS/ $APIKEY
$ maas $PROFILE
usage: maas $PROFILE [-h] COMMAND ...
Issue commands to the MAAS region controller at http://$MY_MAAS:5240/MAAS/api/2.0/.
optional arguments:
-h, --help show this help message and exit
drill down:
COMMAND
account Manage the current logged-in user.
bcache-cache-set Manage bcache cache set on a machine.
bcache-cache-sets Manage bcache cache sets on a machine.
✂️--cut for brevity--✂️
machine Manage an individual machine.
machines Manage the collection of all the machines in the MAAS.
node Manage an individual Node.
nodes Manage the collection of all the nodes in the MAAS.
✂️--cut for brevity--✂️
too few arguments
$ maas $PROFILE node
usage: maas $PROFILE node [-h] COMMAND ...
Manage an individual Node.
optional arguments:
-h, --help show this help message and exit
drill down:
COMMAND
details Get system details
power-parameters
Get power parameters
read Read a node
delete Delete a node
The Node is identified by its system_id.
too few arguments
$ maas $PROFILE node read
usage: maas $PROFILE node read [--help] [-d] [-k] system_id [data [data ...]]
Read a node
positional arguments:
system_id
data
optional arguments:
--help, -h Show this help message and exit.
-d, --debug Display more information about API responses.
-k, --insecure Disable SSL certificate check
Reads a node with the given system_id.
the following arguments are required: system_id, data
$ maas $PROFILE node read $SYSTEM_ID
{
"system_id": "$SYSTEM_ID",
"domain": {
"authoritative": true,
"ttl": null,
"is_default": true,
"id": 0,
"name": "maas",
"resource_record_count": 200,
"resource_uri": "/MAAS/api/2.0/domains/0/"
✂️--cut for brevity--✂️
We can see at each stage help
which gives us clues as to what the next step is, finally arriving at a complete CLI
Specifying LXD VM host status on deployment (Beta 2)
When deploying a machine through the API, it’s now possible to specify register_vmhost=True
to have LXD configured on the machine and registered as a VM host in MAAS (similar to what happens with virsh if install_kvm=True
is provided).
PCI and USB devices are now modelled in MAAS
MAAS 3.0 models all PCI and USB devices detected during commissioning:
-
Existing machines will have to be recommissioned to have PCI and USB devices modelled
-
PCI and USB devices are shown in the UI and on the API using the node-devices endpoint
-
Node devices may be deleted on the API only
On the API using the allocate operation on the machines endpoint a machine may allocated by a device vendor_id, product_id, vendor_name, product_name, or commissioning_driver.
IBM Z DPM partition support
IBM Z14 and above mainframe partitions are supported in MAAS 3.0. Note that partitions must use Hipersockets and properly-defined storage groups. IBM Z DPM Partitions can be added as a chassis, which allows you to add all partitions in an HMC at once.
Proxmox support
MAAS 3.0 supports Proxmox as a power driver:
-
Only Proxmox VMs are supported
-
You may authenticate with Proxmox using a username and password or a username and API token
-
If an API token is used, it must be given permission to query, start and stop VMs.
-
Proxmox VMs can be added as a chassis; this allows you to add all VMs in Proxmox at once.
Note that proxmox support has also been back-ported to MAAS 2.9
LXD projects support
MAAS 3.0 supports the use of LXD projects:
-
LXD VM hosts registered in MAAS are now tied to a specific LXD project which MAAS uses to manage VMs
-
MAAS doesn’t create or manage machines for VMs in other projects
-
MAAS creates the specified project when the VM host is registered, if it doesn’t exist
-
All existing VMs in the specified project are commissioned on registration
-
Resource usage is reported at both project and global levels
PCI and USB device tabs in UI machine details
Tables for detected PCI and USB devices have been added to the machine details page for MAAS 3.0:
These tables include a new skeleton loading state while node devices are being fetched:
The user is prompted to commission the machine if no devices are detected.
Workload annotations
Workload annotations have been added to the machine summary page in MAAS 3.0. These allow you to apply owner_data
to a machine and make it visible while the machine is in allocated or deployed state:
This data is cleared once the machine state changes to something other than “allocated” or “deployed.” The machine list can be filtered by these workload annotations. MAAS will warn you on the release page to remind you that workload annotations will be cleared upon releasing the machine.
Fixed status bar
In MAAS 3.0, a fixed status bar has been added to the bottom of the screen, which will always display the MAAS name and version on the left. The right side of the status bar is intended to show contextual data, depending on the UI panel currently displayed. For now, the only data shown is a “last commissioned” timestamp when the user is on a machine details page: