Bug 978852 - Kickstart text mode installation doesn't run automatically and does not install correct package set (always installs GNOME)
Summary: Kickstart text mode installation doesn't run automatically and does not insta...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: rawhide
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Vratislav Podzimek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedBlocker
Depends On:
Blocks: F19Blocker, F19FinalBlocker fedora19rtt
TreeView+ depends on / blocked
 
Reported: 2013-06-27 08:29 UTC by Martin Banas
Modified: 2013-06-28 07:18 UTC (History)
18 users (show)

Fixed In Version: python-blivet-0.17-1.fc19
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 978856 (view as bug list)
Environment:
Last Closed: 2013-06-28 07:18:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
anaconda.log (6.31 KB, text/plain)
2013-06-27 08:30 UTC, Martin Banas
no flags Details
ifcfg.log (317 bytes, text/plain)
2013-06-27 08:30 UTC, Martin Banas
no flags Details
packaging.log (362.67 KB, text/plain)
2013-06-27 08:30 UTC, Martin Banas
no flags Details
program.log (37.11 KB, text/plain)
2013-06-27 08:30 UTC, Martin Banas
no flags Details
storage.log (128.44 KB, text/plain)
2013-06-27 08:30 UTC, Martin Banas
no flags Details
storage.state (28.00 KB, application/octet-stream)
2013-06-27 08:30 UTC, Martin Banas
no flags Details
syslog (66.20 KB, text/plain)
2013-06-27 08:30 UTC, Martin Banas
no flags Details

Description Martin Banas 2013-06-27 08:29:51 UTC
Description of problem:
When user performs kickstart text mode installation, it stops with exception:

08:18:12 Not asking for VNC because of an automated install
08:18:12 Not asking for VNC because text mode was explicitly asked for in kickstart
Starting automated install..
Generating updated storage configuration
Checking storage configuration...
================================================================================
================================================================================
Installation

 1) [x] Installation source               2) [x] Timezone settings
        (http://download.eng.brq.redhat          (America/New_York timezone)
        .com/pub/fedora/fedora-alt/stag   4) [x] Set root password
        e/19-RC2/Fedora/x86_64/os/)              (Password is set.)
 3) [x] Install Destination               6) [x] Software selection
        (Automatic partitioning selecte          (GNOME Desktop)
        d)
 5) [x] Create user
Exception         (No user will be created)
yum.Errors.RepoError: RepoError() in <bound method YumSqlitePackageSack.__del__ of <yum.sqlitesack.YumSqlitePackageSack object at 0x7f524011ef90>> ignored
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: 


Version-Release number of selected component (if applicable):
anaconda-19.30.12-1
fedora-19-RC2

How reproducible:
always

Steps to Reproduce:
1. Start kickstart text mode installation, for example with following kickstart file:

install
lang en_US.UTF-8
keyboard us
reboot
text
rootpw redhat
timezone --utc America/New_York

# partitioning: autopart
bootloader --location=mbr
zerombr
clearpart --all --initlabel
autopart

%packages
@standard
%end

Actual results:
Automated kickstart installation stops with Exception, manual step is required from the user.
yum.Errors.RepoError: RepoError() in <bound method YumSqlitePackageSack.__del__ of <yum.sqlitesack.YumSqlitePackageSack object at 0x7f524011ef90>> ignored

Expected results:
Installation should continue according to kickstart file, no action should be required from user

Additional info:

Comment 1 Martin Banas 2013-06-27 08:30:21 UTC
Created attachment 765990 [details]
anaconda.log

Comment 2 Martin Banas 2013-06-27 08:30:27 UTC
Created attachment 765991 [details]
ifcfg.log

Comment 3 Martin Banas 2013-06-27 08:30:36 UTC
Created attachment 765992 [details]
packaging.log

Comment 4 Martin Banas 2013-06-27 08:30:42 UTC
Created attachment 765993 [details]
program.log

Comment 5 Martin Banas 2013-06-27 08:30:48 UTC
Created attachment 765994 [details]
storage.log

Comment 6 Martin Banas 2013-06-27 08:30:54 UTC
Created attachment 765995 [details]
storage.state

Comment 7 Martin Banas 2013-06-27 08:30:59 UTC
Created attachment 765996 [details]
syslog

Comment 8 Jan Stodola 2013-06-27 09:10:26 UTC
Proposing as a blocker.

https://fedoraproject.org/wiki/Fedora_19_Beta_Release_Criteria#Unattended_installation

"Unattended installation

Any installation method or process designed to run unattended must do so. There should be no prompts requiring user intervention. "

Comment 9 Vratislav Podzimek 2013-06-27 09:19:09 UTC
The problem here is not in the exception that is written out. It happens every time and it is an internal yum exception that doesn't affect anaconda in any way. I'm not sure where the actual problem is, but it may be in the '@standard' group listed in the kickstart file which I'm not sure really exists.

Comment 10 Martin Banas 2013-06-27 09:22:04 UTC
Hello,

It happens also with following kickstart, so this seems not to be problem with '@standard' package group

install
lang en_US.UTF-8
keyboard us
reboot
text
rootpw redhat
timezone --utc America/New_York

# partitioning: autopart
bootloader --location=mbr
zerombr
clearpart --all --initlabel
autopart

%packages
vim
%end

Comment 11 Vratislav Podzimek 2013-06-27 09:57:34 UTC
The problem (maybe bigger) is that the TUI software spoke overrides the kickstart package selection with GNOME. Thus the automatic installation stops and when continued by entering "c" it installs GNOME even if e.g. only 'vim' has been specified in the kickstart file. Patch sent to anaconda-patches. It can be tested with the following updates image:

http://vpodzime.fedorapeople.org/978852_updates.img

Comment 12 Martin Banas 2013-06-27 10:08:41 UTC
Hi,
Thanks for the updates.img, it seems it fixes the issue. There's no more "Gnome Desktop", but "Custom software selected".

Comment 13 Martin Banas 2013-06-27 11:25:02 UTC
I also tried some basic tests (interactive GUI + TUI installation, kickstart GUI + TUI installation), and all of them works well with the updates.img.

Comment 14 Jaroslav Reznik 2013-06-27 12:06:23 UTC
Same here, confirmed, the fix works, both interactive and non-interactive TUI installation. 

Patch https://lists.fedorahosted.org/pipermail/anaconda-patches/2013-June/004788.html touches only tui software spoke and is pretty small.

Comment 15 Zdeněk Pavlas 2013-06-27 12:07:00 UTC
That's a bug in Yum cleanup.  My guess is that when Yum tries to close sqlite databases, some sqlite exception is raised.  The @catchSqliteException decorator changes this to RepoError and re-raises.  But we don't see the original exception, neither the full traceback.  Is it possible to reproduce the bug with this patch applied, so the exception is printed in full?

diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 65401a9..98f7501 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -516,7 +516,6 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
             }
         misc.unshare_data()
 
-    @catchSqliteException
     def close(self):
         self.dropCachedData()
 
diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index 9e17753..7139b29 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -115,7 +115,11 @@ class YumPackageSack(packageSack.PackageSack):
         self.added = {}
 
     def __del__(self):
-        self.close()
+        try:
+            self.close()
+        except:
+            import traceback; traceback.print_exc()
+            raise
 
     def close(self):
         self.added = {}

The __del__() method often runs too late, when extension modules are already unloaded.  That's a design issue in Python.  Does Kickstart store a YumBase() reference in a global variable, and does not delete it before shutdonw?

Comment 16 Adam Williamson 2013-06-27 14:56:44 UTC
Confirmed with http://www.happyassassin.net/ks/ordered_unattended.ks with text. Also tested cmdline, which breaks worse: it hits the traceback, then throws a fit because 'Can't have a question in command line mode!' and goes to the crash handler.

Given that we apparently have no non-graphical workaround for this, I'm afraid it might have to be a blocker. Count me +1 at this point.

Comment 17 Adam Williamson 2013-06-27 15:02:01 UTC
confirmed the updates.img fixes this for both cmdline and text.

Comment 18 Jóhann B. Guðmundsson 2013-06-27 15:08:57 UTC
+1 blocker

Comment 19 Kevin Fenzi 2013-06-27 15:12:19 UTC
+1 blocker here.

Comment 20 Petr Schindler 2013-06-27 15:15:16 UTC
+1 blocker

Comment 21 Adam Williamson 2013-06-27 15:22:00 UTC
Setting acceptedblocker. time for a hero rc3, folks.

Comment 22 Jaroslav Reznik 2013-06-27 15:24:31 UTC
As I stated above - the change has limited scope of TUI and with mbanas we already covered a few tests with updates.img, not related only to TUI non-interactive test case.

Comment 23 Fedora Update System 2013-06-27 16:13:36 UTC
python-blivet-0.17-1.fc19, anaconda-19.30.13-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/FEDORA-2013-11679/python-blivet-0.17-1.fc19,anaconda-19.30.13-1.fc19

Comment 24 Orion Poplawski 2013-06-27 19:05:32 UTC
rc3 works for me.

Comment 25 Adam Williamson 2013-06-27 19:29:07 UTC
Fix looks to be confirmed in RC3.

Comment 26 Fedora Update System 2013-06-28 07:18:34 UTC
python-blivet-0.17-1.fc19, anaconda-19.30.13-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.


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