Bug 1279008 - kickstarter command "%include <url>" is broken in Fedora 23
kickstarter command "%include <url>" is broken in Fedora 23
Product: Fedora
Classification: Fedora
Component: anaconda (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Anaconda Maintenance Team
Fedora Extras Quality Assurance
: 1280377 (view as bug list)
Depends On:
  Show dependency treegraph
Reported: 2015-11-06 22:45 EST by Dominic Search
Modified: 2015-11-11 10:29 EST (History)
7 users (show)

See Also:
Fixed In Version: pykickstart-2.15-1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2015-11-10 09:15:40 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

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

  None (edit)
Description Dominic Search 2015-11-06 22:45:29 EST
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


For comparison, minimal contents of WORKING kickstarter.cfg 

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



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


* 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 09:51 EST
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 09:53:11 EST
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:

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 09:15:40 EST
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 10:29:26 EST
*** 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.