Bug 1270883 - Default 500MB /boot partition is not enough for some use cases
Summary: Default 500MB /boot partition is not enough for some use cases
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: python-blivet   
(Show other bugs)
Version: 7.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: beta
: ---
Assignee: Chris Lumens
QA Contact: Release Test Team
Petr Bokoc
URL:
Whiteboard:
Keywords:
Depends On:
Blocks: 1186677 1313485 1366991 1295926 1370132
TreeView+ depends on / blocked
 
Reported: 2015-10-12 15:14 UTC by Martin Banas
Modified: 2017-05-02 00:10 UTC (History)
7 users (show)

Fixed In Version: python-blivet-0.61.15.43-1
Doc Type: Known Issue
Doc Text:
Insufficient `/boot` partition size may prevent the system from upgrading The `/boot` partition, which contains installed kernels and initial ram disks, may become full if multiple kernels and additional packages such as _kernel-debug_ are installed. This is caused by the default size of this partition being set to 500 MB during installation, and prevents the system from being upgraded. As a workaround, use "yum" to remove older kernels if you do not need them. This known issue only affects installation made with Red Hat Enterprise Linux 7.2 and earlier. In Red Hat Enterprise Linux 7.3, the default size of the `/boot` partition is increased to 1 GB, which avoids this problem in future upgrades.
Story Points: ---
Clone Of:
: 1370132 (view as bug list)
Environment:
Last Closed: 2016-11-03 23:51:26 UTC
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2168 normal SHIPPED_LIVE python-blivet bug fix and enhancement update 2016-11-03 13:15:34 UTC

Description Martin Banas 2015-10-12 15:14:52 UTC
Description of problem:
If user creates 500MB /boot partition, which is default in RHEL-7, it might be not enough and errors can be seen during the future upgrades.

This will happen for example if user has also kernel-debug package installed. See the analysis below.

Version-Release number of selected component (if applicable):
RHEL-7.1, RHEL-7.2

How reproducible:
always

Steps to Reproduce (real use case):
1. Start installation of RHEL-7.1, select kernel-debug to be installed (or install all packages). Anything works
2. Register to RHSM, update system to latest 7.1.z version
3. Once new Z-Stream batch is released, or once 7.2 is released, update system again.

Actual results:
After installation:
Total space: 497MB
Used space: 216MB (44%)
Free space: 282MB

After upgrade to latest 7.1.z:
Total space: 497MB
Used space: 397MB (80%)
Free space: 100MB

Next upgrade fails with:
Transaction check error:
  installing package kernel-debug-3.10.0-320.el7 needs 27MB on the /boot filesystem

Expected results:
Updates of RHEL-7 should be working without issues even when kernel-debug package is installed. 
RHEL-7 is set to keep 3 kernels installed (based on /etc/yum.conf). /boot partition should be big enough to fit 3 kernels (with all variations)

Additional info:

Comment 2 Martin Banas 2015-10-13 07:11:08 UTC
Expected Result:
1G /boot partition should accomodate 3 kernels without issues.

Comment 4 Anthony Gialluca 2016-01-07 18:53:22 UTC
See also: BZ1262098 [1]

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1262098

Comment 5 Chris Lumens 2016-02-16 15:44:30 UTC
Are there any platform-specific concerns over growing the size of /boot?  Will all architectures still be able to see and boot from a filesystem of that size?

Comment 6 Chris Lumens 2016-04-13 17:34:26 UTC
This requires the following patch be applied to blivet:

diff --git a/blivet/platform.py b/blivet/platform.py
index 8363c0d..df903f5 100644
--- a/blivet/platform.py
+++ b/blivet/platform.py
@@ -165,7 +165,7 @@ class Platform(object):
 
     def set_platform_boot_partition(self):
         """Return the default /boot partition for this platform."""
-        return [PartSpec(mountpoint="/boot", size=Size("500MiB"),
+        return [PartSpec(mountpoint="/boot", size=Size("1GiB"),
                          weight=self.weight(mountpoint="/boot"))]
 
     def set_default_partitioning(self):
@@ -360,7 +360,7 @@ class S390(Platform):
 
     def set_platform_boot_partition(self):
         """Return the default platform-specific partitioning information."""
-        return [PartSpec(mountpoint="/boot", size=Size("500MiB"),
+        return [PartSpec(mountpoint="/boot", size=Size("1GiB"),
                          weight=self.weight(mountpoint="/boot"), lv=False)]
 
     def required_disklabel_type(self, device_type):

Comment 12 errata-xmlrpc 2016-11-03 23:51:26 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2168.html


Note You need to log in before you can comment on or make changes to this bug.