Unable to use fsck on RHEL/CentOS Images deployed using Bionic Ephemeral Image
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Invalid
|
High
|
Unassigned | ||
curtin |
Triaged
|
Medium
|
Unassigned |
Bug Description
From Bionic on, e2fsprogs implemented the "metadata_csum" as a default feature for ext4 filesystem creation [1].
With that change in place, deployments of CentOS / RHEL images (either through MIB or other means, such as packer) fail to execute fsck against ext4 filesystems of these, given these distros do not ship e2fsprogs version higher than 1.43 (or, better said, e2fsprogs versions that support metadata_csum).
The following message is seen, upon attempting to execute fsck against the filesystem:
Apr 19 19:25:03 TOROON63I6W systemd-fsck: /dev/mapper/vg0-lv3 has unsupported feature(s):
metadata_csum
Apr 19 19:25:03 TOROON63I6W systemd-fsck: e2fsck: Get a newer version of e2fsck!
Apr 19 19:25:03 TOROON63I6W systemd-fsck: fsck failed with error code 8.
The workaround, as of now, is to deploy the CentOS/RHEL images using a Xenial Ephemeral Image, thus avoiding the e2fsprogs version that takes "metadata_csum" as a default feature.
This setup uses MAAS at:
ii maas-cli 2.4.2-7034-
ii maas-common 2.4.2-7034-
ii maas-proxy 2.4.2-7034-
ii maas-region-api 2.4.2-7034-
ii maas-region-
ii python3-django-maas 2.4.2-7034-
ii python3-maas-client 2.4.2-7034-
ii python3-
But I believe this affects MAAS at any version.
To reproduce this issue:
-- Set Bionic as the Commissioning Image to be used;
-- Deploy a CentOS/RHEL 7 image using either MIB or packer, defining at least one ext4 fileystem on Curtin.
-- Check the messages file on the firstboot of the deployed image, or attempt to run fsck against the ext4 filesystem.
I'm attaching curtin debug logs, the yaml used on the deployment, and the messages file outlining the error message on the fsck execution.
[1] https:/
Changed in curtin: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in maas: | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → Lee Trager (ltrager) |
milestone: | none → 2.7.0alpha1 |
Changed in maas: | |
milestone: | 2.7.0b1 → 2.7.0b2 |
Changed in maas: | |
milestone: | 2.7.0b2 → none |
Changed in maas: | |
assignee: | Lee Trager (ltrager) → nobody |
We plan to address this as a feature that explicitly models the dependencies between target deployment image and the ephemeral image that MAAS uses to run curtin in (and install that image).
This will, for example, give MAAS the knowledge that CentOS 6 requires Xenial, CentOS 7 requires Focal etc.
Internally, see PF-3237