Bug 1187463

Summary: installer fails to calculate size for nfsroot
Product: [openSUSE] openSUSE Tumbleweed Reporter: Thomas Blume <thomas.blume>
Component: InstallationAssignee: YaST Team <yast-internal>
Status: CONFIRMED --- QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: igonzalezsosa
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://trello.com/c/YVzNaxuj/
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: installer logs
Too small NFS root

Description Thomas Blume 2021-06-17 12:04:31 UTC
Created attachment 850358 [details]
installer logs

Trying to install tumbleweed on nfsroot fails in the Software check with:

Not enough disk space. Remove some packages in the single selection

The nfs share has 20G and I can successfully mount it from the console.

The installer log shows:

-->
2021-06-17 13:52:21 <1> tumblenfs(4195) [Pkg] Target_DU.cc(TargetInitDU):193 Initializing Disk Usage couter from the system
2021-06-17 13:52:21 <1> tumblenfs(4195) [zypp++] DiskUsageCounter.cc(detectMountPoints):171 Discard mount point : proc /proc proc rw,relatime 0 0
2021-06-17 13:52:21 <1> tumblenfs(4195) [zypp++] DiskUsageCounter.cc(detectMountPoints):171 Discard mount point : sysfs /sys sysfs rw,relatime 0 0
2021-06-17 13:52:21 <1> tumblenfs(4195) [zypp++] DiskUsageCounter.cc(detectMountPoints):254 Filter ro mount point : /dev/loop0 /parts/mp_0000 squashfs ro,relatime 0 0
2021-06-17 13:52:21 <1> tumblenfs(4195) [zypp++] DiskUsageCounter.cc(detectMountPoints):254 Filter ro mount point : /dev/loop1 /parts/mp_0001 squashfs ro,relatime 0 0
2021-06-17 13:52:21 <1> tumblenfs(4195) [zypp++] DiskUsageCounter.cc(detectMountPoints):171 Discard mount point : devtmpfs /dev devtmpfs rw,relatime,size=938020k,nr_inodes=234505,mode=755,in
ode64 0 0
2021-06-17 13:52:21 <1> tumblenfs(4195) [zypp++] DiskUsageCounter.cc(detectMountPoints):171 Discard mount point : devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0
2021-06-17 13:52:21 <1> tumblenfs(4195) [zypp++] DiskUsageCounter.cc(detectMountPoints):171 Discard mount point : rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
2021-06-17 13:52:21 <1> tumblenfs(4195) [zypp++] DiskUsageCounter.cc(detectMountPoints):235 Filter mount point : /dev/loop2 /mounts/mp_0000 squashfs ro,relatime 0 0
2021-06-17 13:52:21 <1> tumblenfs(4195) [zypp++] DiskUsageCounter.cc(detectMountPoints):235 Filter mount point : /dev/loop3 /mounts/mp_0001 squashfs ro,relatime 0 0
2021-06-17 13:52:21 <1> tumblenfs(4195) [zypp++] DiskUsageCounter.cc(detectMountPoints):235 Filter mount point : /dev/loop5 /mounts/mp_0003 squashfs ro,relatime 0 0
2021-06-17 13:52:21 <1> tumblenfs(4195) [Ruby] modules/SpaceCalculation.rb(GetPartitionInfo):741 INIT done, SpaceCalculation - partitions: []
2021-06-17 13:52:21 <1> tumblenfs(4195) [Pkg] modules/SpaceCalculation.rb:898 Pkg Builtin called: TargetGetDU
2021-06-17 13:52:21 <1> tumblenfs(4195) [Ruby] modules/SpaceCalculation.rb(block in CheckDiskSize):899 /: [1030828, 414456, 3266329, 0]
2021-06-17 13:52:21 <2> tumblenfs(4195) [Ruby] modules/SpaceCalculation.rb(block in CheckDiskSize):905 Partition "/" needs 2.132 GiB more disk space.
2021-06-17 13:52:21 <1> tumblenfs(4195) [Ruby] modules/SpaceCalculation.rb(CheckDiskSize):916 Total used space (kB): 3266329, fits ?: false
2021-06-17 13:52:21 <1> tumblenfs(4195) [Pkg] y2packager/resolvable.rb:64 Pkg Builtin called: Resolvables
2021-06-17 13:52:21 <1> tumblenfs(4195) [Pkg] y2packager/resolvable.rb:161 Pkg Builtin called: Resolvables
2021-06-17 13:52:21 <1> tumblenfs(4195) [Pkg] y2packager/resolvable.rb:64 Pkg Builtin called: Resolvables
2021-06-17 13:52:21 <1> tumblenfs(4195) [Pkg] y2packager/resolvable.rb:161 Pkg Builtin called: Resolvables
2021-06-17 13:52:21 <1> tumblenfs(4195) [Pkg] y2packager/resolvable.rb:161 Pkg Builtin called: Resolvables
2021-06-17 13:52:21 <1> tumblenfs(4195) [Pkg] y2packager/resolvable.rb:64 Pkg Builtin called: Resolvables
2021-06-17 13:52:22 <1> tumblenfs(4195) [Pkg] y2packager/resolvable.rb:161 Pkg Builtin called: Resolvables
2021-06-17 13:52:22 <1> tumblenfs(4195) [Pkg] y2packager/resolvable.rb:161 Pkg Builtin called: Resolvables
2021-06-17 13:52:22 <1> tumblenfs(4195) [Ruby] modules/Packages.rb(AddFailedMounts):435 Failed mounts: 0: []
2021-06-17 13:52:22 <1> tumblenfs(4195) [Ruby] modules/Packages.rb(AddFailedMounts):494 Proposal summary: $["warning":"Not enough disk space. Remove some packages in the single selection.", 
"warning_level":`blocker]
--<

So, the size of the nfs mount doesn't even seem to be calculated.
The same installation procedure succeeds on SLES15SP3.

Attaching the installer logs.
Comment 1 Imobach Gonzalez Sosa 2021-06-18 11:57:19 UTC
Created attachment 850385 [details]
Too small NFS root

Funny enough, I got exactly the opposite result with Leap 15.3. YaST was fine trying to install 4.8GiB on a 2.0GiB NFS share. I am attaching the logs.
Comment 2 Imobach Gonzalez Sosa 2021-06-18 12:00:06 UTC
The difference between the Leap 15.3 and Tumbleweed scenarios is that the latter uses a /dev/zram0 device as root filesystem for the inst-sys (which is something new and is not filtered or handled in any way), so it uses its size for comparison (which is wrong).

In the Leap case, it seems that it does not detect any device (the NFS root is ignored) and allows you to continue even if the packages will not fit.

I will move this bug to our queue so we can plan for fixing it.