MAAS 3.1 introduces breaking changes for custom centos7 images
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
High
|
Adam Collard | ||
3.1 |
Fix Released
|
High
|
Adam Collard | ||
3.2 |
Fix Released
|
High
|
Unassigned |
Bug Description
THE PROBLEM:
MAAS 3.1 now expects the following:
1. The dnf command to exist, which is not part of the standard CentOS7 image.
2. Netplan to be installed as a package named netplan.io, which is not packaged for CentOS7
This caused all of our previous customer CentOS7 images to no longer deploy, because dnf was not installed, and the expected netplan.io package was not installed.
We are able to build a netplan RPM ourselves using the .spec file from the netplan git repo, but...
1. It default package name is netplan and not netplan.io which would fail the check
2. We cannot use the latest version of netplan as that requires dependencies that cannot be met on CentOS7
3. Python3 then has to be installed from EPEL in order to install netplan.
4. Technically we have to install dnf as well, as your code uses DNF instead of YUM
THE DOCUMENTATION:
The only mention of this breaking changes is found in the release notes here
"About configuring deployed machine networking
If you deploy a machine with a custom Ubuntu image, MAAS allows you to configure the deployed machine’s networks just like any other MAAS machine. If you create an interface and assign it to a subnet or static address, this will be reflected in the deployed machine.
For this reason, MAAS also does some initial diagnostics while installing the custom image. MAAS will warn you about a missing network configuration, by checking for cloud-init and netplan in the curtin images. MAAS won’t deploy machine with such images."
1. I feel this could have been more clearly documented for those that are using custom images impacted by the change.
2. I also don’t see this being mentioned in either of these two documents for building custom images
1. https:/
2. https:/
ARBITRARY CHECKS?
After deploying images with netplan built into them both with standard single-interface and bonded network configurations, it appears netplan was not even used.
When commenting out your checks for the netplan packages from preseed.py, and deploying older images without netplan installed, we discovered they also deployed without issues and *never used netplan to write their network configuration*
I also noticed that the vanilla centos7 image you provide in MAAS does not have netplan installed and, because it is not a custom image, does not check for netplan.
---
I originally posted about this on discourse, here: https:/
Related branches
- MAAS Lander: Needs Fixing
- Adam Collard (community): Approve
-
Diff: 231 lines (+95/-57)2 files modifiedsrc/maasserver/preseed.py (+28/-27)
src/maasserver/tests/test_preseed.py (+67/-30)
- Adam Collard (community): Approve
-
Diff: 239 lines (+96/-57)2 files modifiedsrc/maasserver/preseed.py (+28/-27)
src/maasserver/tests/test_preseed.py (+68/-30)
- MAAS Lander: Needs Fixing
- Christian Grabowski: Approve
-
Diff: 239 lines (+96/-57)2 files modifiedsrc/maasserver/preseed.py (+28/-27)
src/maasserver/tests/test_preseed.py (+68/-30)
Changed in maas: | |
status: | New → Triaged |
importance: | Undecided → Low |
Changed in maas: | |
assignee: | nobody → Adam Collard (adam-collard) |
description: | updated |
Changed in maas: | |
status: | Triaged → Fix Committed |
Changed in maas: | |
milestone: | 3.3.0 → 3.3.0-beta1 |
Changed in maas: | |
status: | Fix Committed → Fix Released |
tags: | added: sts |
Hi MAAS team,
How can this be a "low" priority ? This release breaks a feature that is available and supported by Canonical. I'm raising this as field-critical as we have several customers deploying custom images and this change forces us to apply a manual patch to the maas snap.