Bug 1636739

Summary: kickstart doesn't find standard repos Fedora 29 beta Everything netinst (metalink False)
Product: [Fedora] Fedora Reporter: Edgar Hoch <edgar.hoch>
Component: anacondaAssignee: Jiri Konecny <jkonecny>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 29CC: anaconda-maint-list, edgar.hoch, fzatlouk, jkonecny, jonathan, kellin, kparal, robatino, vanmeeuwen+fedora, vponcova, wwoods
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: AcceptedBlocker
Fixed In Version: anaconda-29.24.7-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1641620 (view as bug list) Environment:
Last Closed: 2018-10-24 10:53:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1517013, 1641620, 1642089    
Attachments:
Description Flags
small kickstart file to find the problem
none
/var/log/anaconda/packaging.log
none
/var/log/anaconda/packaging.log, kickstart installation with fix from comment #6
none
dnf.librepo.log for comment 10
none
anaconda.log for comment 10
none
packaging.log for comment 10
none
program.log for comment 10 none

Description Edgar Hoch 2018-10-07 10:23:49 UTC
Description of problem:

I have tried Fedora 29 beta using my default kickstart configuration, which has worked in previous Fedora versions.

It doesn't find repos updates and updates-testing, it uses only the expanded server dvd directory provided by nfs4, and the packages from them.

It seams that it doesn't know or find the metalink for the repos.


I have boot the machine (VM) by PXE with kernel and initrd from Fedora 29 beta Everything netinst iso directory images/pxeboot, and inst.repo from Fedora 29 beta Server dvd provided by nfs4.

I have tested it with and without kickstart options
repo --name=fedora
repo --name=updates
repo --name=updates-testing

I have also tested Fedora 29 Branched 20181005.n.0 nightly compose - same result.

Kickstart installation has finished, but there are only about 4,4 GB allocated in /, instead of about 30 GB when done with Fedora 28.

/var/log/anaconda/packaging.log contains:


09:25:19,341 INF packaging: configuring base repo
09:25:19,534 INF packaging: Enabled 'updates'
09:25:19,534 INF packaging: Enabled 'updates-testing'
09:25:19,545 DBG packaging: No base repository found in treeinfo file. Using installation tree root.
09:25:19,545 DBG packaging: releasever from file:///run/install/source is 29
09:25:19,546 INF packaging: added repo: 'anaconda' - file:///run/install/source
09:25:19,565 DBG dnf: repo: downloading from remote: anaconda
09:25:21,660 INF packaging: enabled repo: '' - ['file:///run/install/source'] and got repomd
09:25:21,660 DBG packaging: repo fedora: mirrorlist None, baseurl , metalink False
09:25:21,661 INF packaging: added repo: 'fedora' - None
09:25:21,661 DBG packaging: repo updates: mirrorlist None, baseurl , metalink False
09:25:21,662 INF packaging: added repo: 'updates' - None
09:25:21,662 DBG packaging: repo updates-testing: mirrorlist None, baseurl , metalink False
09:25:21,663 INF packaging: added repo: 'updates-testing' - None
09:25:21,666 DBG dnf: Paketquelle: Cache verwenden für: anaconda
09:25:21,666 DBG packaging: repo anaconda: _sync_metadata success from ['file:///run/install/source']
09:25:21,671 DBG dnf: Paketquelle: Cache verwenden für: anaconda
09:25:21,671 DBG dnf: not found modules for: 
09:25:21,671 DBG dnf: not found deltainfo for: 
09:25:21,672 DBG dnf: not found updateinfo for: 
09:25:22,927 DBG dnf: anaconda: Metadaten von Fr 05 Okt 2018 09:41:46 UTC werden verwendet.
09:25:22,928 INF dnf: Letzte Prüfung auf abgelaufene Metadaten: vor 0:00:01 am So 07 Okt 2018 09:25:21 UTC.
09:25:23,084 Level 8 dnf: timer: sack setup: 1417 ms
09:25:23,084 Level 8 dnf: Getting group metadata
09:25:23,085 Level 8 dnf: Adding group file from repository: anaconda
09:25:23,103 Level 8 dnf: timer: loading comps: 18 ms



Here is the same part from a working Fedora 28 installation:

00:26:55,633 INF packaging: configuring base repo
00:26:55,746 INF packaging: Enabled 'updates'
00:26:55,752 Level 8 dnf: Paketquelle: entfernter Download von: anaconda, _Handle: metalnk: None, mlist: None, urls ['
file:///run/install/source'].
00:26:55,815 INF packaging: added repo: 'anaconda' - file:///run/install/source
00:26:55,816 Level 8 dnf: Paketquelle: entfernter Download von: fedora, _Handle: metalnk: https://mirrors.fedoraproject.org/metalink?repo=fedora-28&arch=x86_64, mlist: None, urls [].
02:26:57,185 INF packaging: added repo: 'fedora' - None
02:26:57,186 Level 8 dnf: Paketquelle: entfernter Download von: updates, _Handle: metalnk: https://mirrors.fedoraproject.org/metalink?repo=updates-released-f28&arch=x86_64, mlist: None, urls [].
02:26:58,306 INF packaging: added repo: 'updates' - None
02:26:58,307 DBG dnf: Paketquelle: Cache verwenden für: updates
02:26:58,307 DBG dnf: Paketquelle: Cache verwenden für: fedora
02:26:58,307 DBG dnf: Paketquelle: Cache verwenden für: anaconda
02:26:58,312 DBG dnf: Paketquelle: Cache verwenden für: updates
02:27:00,947 DBG dnf: updates: Metadaten von Mo 18 Jun 2018 17:56:21 CEST werden verwendet.
02:27:00,947 DBG dnf: Paketquelle: Cache verwenden für: fedora
02:27:00,947 DBG dnf: not found deltainfo for: Fedora 28 - x86_64
02:27:00,948 DBG dnf: not found updateinfo for: Fedora 28 - x86_64
02:27:13,191 DBG dnf: fedora: Metadaten von Mi 25 Apr 2018 06:27:32 CEST werden verwendet.
02:27:13,192 DBG dnf: Paketquelle: Cache verwenden für: anaconda
02:27:13,192 DBG dnf: not found deltainfo for: anaconda
02:27:13,192 DBG dnf: not found updateinfo for: anaconda
02:27:13,930 DBG dnf: anaconda: Metadaten von Mi 25 Apr 2018 06:28:08 CEST werden verwendet.
02:27:13,931 INF dnf: Letzte Prüfung auf abgelaufene Metadaten: vor 0:00:02 am Di 19 Jun 2018 02:26:58 CEST.
02:27:13,932 DBG dnf: Missing file *modules.yaml in metadata cache dir: /tmp/dnf.cache/updates-8bd9ef368505a5fd
02:27:13,932 DBG dnf: Missing file *modules.yaml in metadata cache dir: /tmp/dnf.cache/fedora-f21308f6293b3270
02:27:13,932 DBG dnf: Missing file *modules.yaml in metadata cache dir: /tmp/dnf.cache/anaconda-2acb3ab326322b93
02:27:15,589 Level 8 dnf: timer: sack setup: 17281 ms
02:27:15,590 Level 8 dnf: Getting group metadata
02:27:15,590 Level 8 dnf: Adding group file from repository: updates
02:27:15,666 Level 8 dnf: Adding group file from repository: fedora
02:27:15,777 Level 8 dnf: Adding group file from repository: anaconda
02:27:15,820 Level 8 dnf: timer: loading comps: 230 ms


I got the same result when booting from a local disk instead of pxe.



Version-Release number of selected component (if applicable):
Fedora 29 beta (first test)
Fedora 29 Branched 20181005.n.0 nightly compose (additional test)

PXE boot kernel and initrd from Everything netinst
inst.repo from Server dvd


How reproducible:
Always

Steps to Reproduce:
See description above.

Comment 1 Edgar Hoch 2018-10-07 11:59:37 UTC
Created attachment 1491320 [details]
small kickstart file to find the problem

You can use the small kickstart file attached to reproduce the problem.

Comment 2 Edgar Hoch 2018-10-07 12:01:23 UTC
Created attachment 1491321 [details]
/var/log/anaconda/packaging.log

Comment 3 Edgar Hoch 2018-10-18 18:05:26 UTC
Can anyone reproduce the problem?
Is it an error, or the intended behaviour, because I use a beta release?

If it is not the intended behaviour, then it should fix before the release of Fedora 28, because errors in installation images cannot easyly be fixed by updates.

Then, I think, it should be a blocker bug?

Comment 4 Fedora Blocker Bugs Application 2018-10-19 10:36:59 UTC
Proposed as a Blocker for 29-final by Fedora user jkonecny using the blocker tracking app because:

 The installer must be able to use all supported local and remote package and installer sources.

This bug makes installer unable to use local repository files. Local repository files can be used by kickstart:
repo --name=updates
repo --name=updates-testing

Comment 5 Jiri Konecny 2018-10-19 10:50:20 UTC
PR: https://github.com/rhinstaller/anaconda/pull/1666

Comment 6 Jiri Konecny 2018-10-19 10:57:22 UTC
Thanks Edgar for reporting.

This is a major issue caused by smaller rework in the Anaconda code base. The problem is that local repositories aren't enabled in DNF, so they are never used. I've proposed this as a blocker bug to be sure to get this to Fedora 29.

Could you please test this patch by trying your installation above with this updates image. I want to be sure that everything is working correctly now.

You can use the updates image by adding this to the kernel command line boot parameters.

inst.updates=https://jkonecny.fedorapeople.org/redhat/bugs/1636739/repo_fix_updates.img

Thank you.

Comment 7 Edgar Hoch 2018-10-19 21:38:31 UTC
Created attachment 1495789 [details]
/var/log/anaconda/packaging.log, kickstart installation with fix from comment #6

Comment 8 Edgar Hoch 2018-10-19 21:40:21 UTC
(In reply to Jiri Konecny from comment #6)
> Could you please test this patch by trying your installation above with this
> updates image. I want to be sure that everything is working correctly now.
> 
> You can use the updates image by adding this to the kernel command line boot
> parameters.
> 
> inst.updates=https://jkonecny.fedorapeople.org/redhat/bugs/1636739/
> repo_fix_updates.img

Jiri, thanks for the fix, it solves the problem. See attached file packaging.log.

Comment 9 František Zatloukal 2018-10-22 16:11:24 UTC
Discussed during the 2018-10-22 blocker review meeting: [1]

The decision to classify this bug as an AcceptedBlocker was made:

"WE find this bug is a violation of the following criteria: "The installer must be able to use all supported local and remote package and installer sources." We note that the anaconda team says a fix has been submitted and merged and will be available ASAP"

[1] https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2018-10-22/f29-blocker-review.2018-10-22-16.00.log.txt

Comment 10 Kamil Páral 2018-10-23 13:08:54 UTC
I built my own boot.iso using lorax containing anaconda-29.24.7-1. I tested with this kickstart:

install
text
firewall --disabled
rootpw --plaintext fedora
auth --enableshadow --passalgo=md5
firstboot --disable
keyboard us
lang en_US
selinux --permissive
timezone --isUtc Europe/Prague
network --device link --activate
zerombr
bootloader --timeout=1
clearpart --all --initlabel
part biosboot --fstype=biosboot --size=1
part swap --fstype=swap --size=512
part / --fstype=ext4 --grow --size=1
repo --name=fedora
repo --name=updates
%packages
%end

But the installation doesn't start and shows "Error setting up software source" in "Installation source". dnf.librepo.log says:

2018-10-23T13:04:14Z DEBUG check_transfer_statuses: Error during transfer: Curl error (37): Couldn't read a file:// file for file:///run/install/repo/repodata/repomd.xml [Couldn't open file /run/install/repo/repodata/repomd.xml]

Am I doing something wrong?

Comment 11 Kamil Páral 2018-10-23 13:09:48 UTC
Created attachment 1496695 [details]
dnf.librepo.log for comment 10

Comment 12 Kamil Páral 2018-10-23 15:40:09 UTC
Created attachment 1496721 [details]
anaconda.log for comment 10

Comment 13 Kamil Páral 2018-10-23 15:40:19 UTC
Created attachment 1496722 [details]
packaging.log for comment 10

Comment 14 Kamil Páral 2018-10-23 15:40:27 UTC
Created attachment 1496724 [details]
program.log for comment 10

Comment 15 Edgar Hoch 2018-10-23 15:51:32 UTC
(In reply to Kamil Páral from comment #10)
> I built my own boot.iso using lorax containing anaconda-29.24.7-1.

You may run into the problem with a new dbus package described in bug 1642089 ?

Comment 16 Kamil Páral 2018-10-24 10:53:58 UTC
OK, this fix works, but only if you have a nfs command (or probably an url command) in the kickstart as well. That was present in OP's ks, but not in mine. So if I test with this:

nfs --server=192.168.11.1 --dir=/mnt/test
repo --name=fedora
repo --name=updates
repo --name=updates-testing

the old anaconda doesn't use the extra "repo" repos, the new one does (easily testeable with updates-testing).

Since anaconda-29.24.7-1 is already in stable updates, I'm closing this as resolved.