Bug 1279008 - kickstarter command "%include <url>" is broken in Fedora 23
Summary: kickstarter command "%include <url>" is broken in Fedora 23
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 23
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Anaconda Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1280377 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-07 03:45 UTC by Dominic Search
Modified: 2015-11-11 15:29 UTC (History)
7 users (show)

Fixed In Version: pykickstart-2.15-1
Clone Of:
Environment:
Last Closed: 2015-11-10 14:15:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Anaconda log after dying (421 bytes, text/plain)
2015-11-07 03:45 UTC, Dominic Search
no flags Details
anaconda and system logs from crashed install (24.10 KB, application/x-gzip)
2015-11-08 14:51 UTC, Frantisek Hanzlik
no flags Details

Description Dominic Search 2015-11-07 03:45:29 UTC
Created attachment 1090832 [details]
Anaconda log after dying

The kickstarter command "%include <url>" does not function correctly when booting from Fedora-Server-netinst-x86_64-23.iso.  Anaconda gets the include file from the web server (as logged by apache) and then dies with the error message "Kickstarter file /run/install/ks.cfg is missing".  

The same set of kickstarter files works ok when booting from Fedora-Server-netinst-x86_64-22.iso.  Using a single kickstarter file with no includes and similarly accessed via http also works ok with Fedora 23, so it's just the includes via http that are broken.

I have not tested includes for files on a local device, so do not know if the problem is limited to http.

----------------

This is fully repeatable as follows:

1. Boot from Fedora-Server-netinst-x86_64-23.iso
2. Select Install at the grub menu and press tab
3. Append to the end of the commandline "inst.ks=http://somedomain/pathto/kickstarter.cfg"
4. Press return

Minimal contents of NOT working kickstarter.cfg 

  network --bootproto=dhcp --ipv6=auto --activate --device=eno16777728 --hostname=somehostname
  %include http://somedomain/pathto/include.inc

Minimal contents of include.inc

  graphical
  vnc

For comparison, minimal contents of WORKING kickstarter.cfg 

  network --bootproto=dhcp --ipv6=auto --activate --device=eno16777728 --hostname=somehostname
  graphical
  vnc

----------------

Versions:

* anaconda 23.19.10-1
* Fedora-Server-netinst-x86_64-23.iso

Platform:

* Vmware workstation 12 player
* Guest = Fedora 64bit with 2 cpus, 4GB RAM, bridged network.
* Host  = Windows 8.1 Pro on Intel i7, 32GB RAM.

Comment 1 Frantisek Hanzlik 2015-11-08 14:51:39 UTC
Created attachment 1091264 [details]
anaconda and system logs from crashed install

/tmp/anaconda.log, /tmp/syslog, /var/log/boot.log logs - last contain some detail about crash

Comment 2 Frantisek Hanzlik 2015-11-08 14:53:11 UTC
Same result when trying install from Fedora-Workstation-netinst-i386-23.iso (477102080 Bytes, from 2015-Oct-30 00:51, anaconda-23.19.10-1).

ks specified on kernel cmdline as: 'inst.ks=http://ws22/ks/23/cac32-ks.cfg', and
kickstart file contain several %include statements in form:
%include http://192.168.1.22/ks/23/_must-be_bez_mych
%include http://192.168.1.22/ks/23/_must-be_server
%include http://192.168.1.22/ks/23/_must-not-be
%include http://192.168.1.22/ks/23/_mate
...

Attached are '/tmp/anaconda.log', '/tmp/syslog', '/var/log/boot.log' logs, last contain some detail about crash:
...
[   71.044927] dracut-initqueue[637]: mount: /dev/sdc is write-protected, mounting read-only
[   72.452273] dracut-initqueue[637]: % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
[   72.452549] dracut-initqueue[637]: Dload  Upload   Total   Spent    Left  Speed
[   72.458369] dracut-initqueue[637]: 0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0^M100  5109  100  5109    0     0   813k   
   0 --:--:-- --:--:-- --:--:--  831k
[   73.011799] dracut-initqueue[637]: Traceback (most recent call last):
[   73.011962] dracut-initqueue[637]: File "/sbin/parse-kickstart", line 609, in <module>
[   73.012070] dracut-initqueue[637]: outfile, output = process_kickstart(path)
[   73.012151] dracut-initqueue[637]: File "/sbin/parse-kickstart", line 587, in process_kickstart
[   73.012230] dracut-initqueue[637]: parser.readKickstart(processed_file)
[   73.012308] dracut-initqueue[637]: File "/usr/lib/python3.4/site-packages/pykickstart/parser.py", line 763, in readKickstart
[   73.012384] dracut-initqueue[637]: self.readKickstartFromString(s, reset=False)
...

Without '%include' statements kickstart install continue without problems.

This bug is very annoying, as with new anaconda installer is possible to do customized installation only with kickstart file - and %include statement allows it's flexible adaptation; it is IMO very important.

Comment 3 David Shea 2015-11-10 14:15:40 UTC
This problem is due to the switch to Python 3 and the various surprises that caused as far as string types. If you look at the boot messages that are displayed before anaconda starts, you'll notice something scroll by to the effect of 'bytes object has no such attribute read'. This is fixed in rawhide by https://github.com/rhinstaller/pykickstart/commit/04d6f243c0a36b0c3a208080cc5e05dadcc50c76, but unfortunately this update was not included in the Fedora 23 release.

Comment 4 Chris Lumens 2015-11-11 15:29:26 UTC
*** Bug 1280377 has been marked as a duplicate of this bug. ***


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