|
Bugzilla – Full Text Bug Listing |
| Summary: | yast2 live-installer progress bar malfunction | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 13.1 | Reporter: | Jigish Gohil <cyberorg> |
| Component: | YaST2 | Assignee: | Jiri Srain <jsrain> |
| Status: | RESOLVED FIXED | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | ms, vmoravec |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: | y2log | ||
That code seems to be in ImageInstallation.rb and was written by Jiri and Lukas. I didn't know of any way of getting the real image size from squashfs image used by live systems, here is the fix I used for openSUSE Edu Li-f-e media:
Hard coding the size, we get this after running
kiwi -y -p ./ -r /live-13.1
total_mb = du -s /live-13.1 divided by 1024 (10800 for Li-f-e)(yes it is very big)
Make the changes according to the patch below
then kiwi -c is run
This whole process can be automated in kiwi if yast cannot figure out of getting the size.
--- usr/share/YaST2/modules/ImageInstallation.rb.orig 2013-12-13 12:33:51.210083344 +0530
+++ usr/share/YaST2/modules/ImageInstallation.rb 2013-12-14 12:17:00.410625875 +0530
@@ -1029,7 +1029,8 @@
# y2milestone ("Output: %1", out);
# string total_str = out["stdout"]:"";
# integer total_mb = tointeger (total_str);
- total_mb = 1024 if total_mb == 0 # should be big enough
+ # total_mb = 1024 if total_mb == 0 # should be big enough
+ total_mb = 10800
tmp_pipe1 = Ops.add(
Convert.to_string(SCR.Read(path(".target.tmpdir"))),
Here is one way to get the size from a live system: file /livecd/$(ls /livecd | grep read-only) | cut -d , -f4 Can we get this fixed in time for 13.2? sorry, that just gives the size of compressed image, still not the actual system size. The ratio between compressed and uncompressed size of the openSUSE live system is c.a. 3.7:1 (I was really surprised about that). I know that this is not a good solution in general, calculating real size would be much better (if we could do it quickly), but still better than current situation. Additionally: The speed of the progress bar going immediately to 100% is also caused by a bug (comparing bytes to megabytes). And, one more additionally: The root FS size only shows the RAM part - not read-only stuff. So these need to be combined. With changes as described above, it looks quite reasonable during my testing so far. Fix merged into master. |
Created attachment 570771 [details] y2log User-Agent: Mozilla/5.0 (X11; Linux i686; rv:25.0) Gecko/20100101 Firefox/25.0 When copying root filesystem in live-installer mode the progress bar goes immediately from 0 to 100% and stays stuck there till the image copying is completed, in the mean time without any visible indication that copying is still going on it feels like the installation is stalled. Relevant portion of the y2log: 2013-12-09 11:52:57 <1> linux.site(14936) [Ruby] clients/inst_prepareprogress.rb:57 Executing df -P -k / 2013-12-09 11:52:57 <1> linux.site(14936) [Ruby] clients/inst_prepareprogress.rb:59 Output: $["exit":0, "stderr":"", "stdout":"Filesystem 1024-blocks Used Available Capacity Mounted on\noverlayfs 487652 5128 452828 2% /\n"] 2013-12-09 11:52:57 <1> linux.site(14936) [Ruby] modules/ImageInstallation.rb:508 Computing total images size from [[]], data $[] 2013-12-09 11:52:57 <1> linux.site(14936) [Ruby] modules/ImageInstallation.rb:519 Total images size: 0 2013-12-09 11:52:57 <1> linux.site(14936) [Ruby] modules/SlideShow.rb:932 Total estimated time: 221 2013-12-09 11:52:57 <1> linux.site(14936) [Ruby] modules/SlideShow.rb:980 Global progress bar: $["disk":$["description":"Preparing disks...", "name":"disk", "size":54, "start":0, "units":`sec, "value":120], "finish":$["description":"Finishing Basic Installation", "name":"finish", "size":45, "start":54, "units":`sec, "value":100], "images":$["description":"Deploying Images...", "name":"images", "size":0, "start":54, "units":`kb, "value":5128], "packages":$["description":"Installing Packages...", "name":"packages", "size":0, "start":54, "units":`kb, "value":0]] 2013-12-09 11:52:57 <1> linux.site(14936) [Ruby] clients/inst_prepareprogress.rb:133 END of inst_prepareprogress.ycp 2013-12-09 11:52:57 <1> linux.site(14936) [Interpreter] modules/ProductControl.rb:1513 Called YaST client returned. 2013-12-09 11:53:12 <1> linux.site(14936) [Ruby] modules/ImageInstallation.rb:1009 Executing df -P -k / 2013-12-09 11:53:12 <1> linux.site(14936) [Ruby] modules/ImageInstallation.rb:1011 Output: $["exit":0, "stderr":"", "stdout":"Filesystem 1024-blocks Used Available Capacity Mounted on\noverlayfs 487652 5319 452637 2% /\n"] 2013-12-09 11:53:12 <1> linux.site(14936) [Ruby] modules/ImageInstallation.rb:1055 Executing mkfifo /tmp/YaST2-14936-ZV0AGq/system_clone_fifo_1 ; mkfifo /tmp/YaST2-14936-ZV0AGq/system_clone_fifo_2 ; tar -C / --hard-dereference --numeric-owner -cSf /tmp/YaST2-14936-ZV0AGq/system_clone_fifo_1 --one-file-system . & dd bs=1048576 if=/tmp/YaST2-14936-ZV0AGq/system_clone_fifo_1 of=/tmp/YaST2-14936-ZV0AGq/system_clone_fifo_2 >&2 & jobs -l >&2; tar -C /mnt --numeric-owner -xSf /tmp/YaST2-14936-ZV0AGq/system_clone_fifo_2 2013-12-09 11:53:12 <1> linux.site(14936) [liby2util++] ExternalProgram.cc(start_program):199 Executing '/bin/sh' '-c' 'mkfifo /tmp/YaST2-14936-ZV0AGq/system_clone_fifo_1 ; 2013-12-09 11:53:12 <1> linux.site(14936) [liby2util++] ExternalProgram.cc(start_program):199 mkfifo /tmp/YaST2-14936-ZV0AGq/system_clone_fifo_2 ; 2013-12-09 11:53:12 <1> linux.site(14936) [liby2util++] ExternalProgram.cc(start_program):199 tar -C / --hard-dereference --numeric-owner -cSf /tmp/YaST2-14936-ZV0AGq/system_clone_fifo_1 --one-file-system . & 2013-12-09 11:53:12 <1> linux.site(14936) [liby2util++] ExternalProgram.cc(start_program):199 dd bs=1048576 if=/tmp/YaST2-14936-ZV0AGq/system_clone_fifo_1 of=/tmp/YaST2-14936-ZV0AGq/system_clone_fifo_2 >&2 & 2013-12-09 11:53:12 <1> linux.site(14936) [liby2util++] ExternalProgram.cc(start_program):199 jobs -l >&2; 2013-12-09 11:53:12 <1> linux.site(14936) [liby2util++] ExternalProgram.cc(start_program):202 tar -C /mnt --numeric-owner -xSf /tmp/YaST2-14936-ZV0AGq/system_clone_fifo_2' Reproducible: Always Steps to Reproduce: 1. 2. 3.