Bug 1312286 - RHEL 7.2 doesn't work with kickstart-tests proxy.py while Fedora 23 does
RHEL 7.2 doesn't work with kickstart-tests proxy.py while Fedora 23 does
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: anaconda (Show other bugs)
7.2
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: Jiri Konecny
Release Test Team
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-26 05:36 EST by Alexander Todorov
Modified: 2017-08-28 03:32 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-04-12 04:02:40 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
anaconda.log (17.67 KB, text/plain)
2016-02-26 05:38 EST, Alexander Todorov
no flags Details
packaging.log (89.30 KB, text/plain)
2016-02-26 05:39 EST, Alexander Todorov
no flags Details
program.log (27.54 KB, text/plain)
2016-02-26 05:39 EST, Alexander Todorov
no flags Details
storage.log (86.65 KB, text/plain)
2016-02-26 05:39 EST, Alexander Todorov
no flags Details
syslog (69.51 KB, text/plain)
2016-02-26 05:39 EST, Alexander Todorov
no flags Details
anaconda-yum.conf (320 bytes, text/plain)
2016-02-26 07:55 EST, Alexander Todorov
no flags Details

  None (edit)
Description Alexander Todorov 2016-02-26 05:36:11 EST
Description of problem:

I have specified http proxy for the base repository inside a RHEL 7.2 installation. The metadata seems to be downloaded OK via the proxy but when anaconda tries to download the first package it actually chokes. 

The UI shows "Error populating transaction, retrying"


Version-Release number of selected component (if applicable):
Anaconda 21.28.22.56-1

How reproducible:
Always

Steps to Reproduce:
1. Use a Fedora 23 virt host (you need python3)
2. git clone https://github.com/rhinstaller/kickstart-tests
3. python3 ./kickstart-tests/scripts/proxy.py  - this starts a basic proxy on port 8080 listening on all interfaces

4. Using virt-manager create a new VM.
5. Boot from RHEL 7.2 boot.iso
6. Inside anaconda GUI enable networking and configure the base repo
7. Use proxy (IP of your host system, port 8080). For me this is 10.12.0.51:8080
8. Proceed with the install

Actual results:

Anaconda is able to download .treeinfo and metadata from the repository. I'm able to select package groups, etc. 

After partitioning is written to disk it tries to download dracut-config-rescue-033-359.el7.x86_64.rpm and this is when it starts to show errors.

After 10 retries (takes some time) the installation is aborted.

Expected results:
Installation completes without error.



Additional info:

If the VM is Fedora 23, using an internal HTTP url (on the same server as the RHEL 7.2 repo) I have no problems completing the installation. 

I have verified that the proxy itself works - from a second system I did:
$ export http_proxy=10.12.0.51:8080
$ wget http://...../dracut-config-rescue-033-359.el7.x86_64.rpm

The dracut RPM package was downloaded successfully.


During the entire time, proxy.py is printing success log messages:

192.168.122.42 - - [26/Feb/2016 10:30:57] "GET http://example.com/os/Packages/dracut-config-rescue-033-359.el7.x86_64.rpm HTTP/1.1" 200 -


And frankly I don't see anything in the logs to suggest what the problem might be.
Comment 1 Alexander Todorov 2016-02-26 05:38 EST
Created attachment 1130814 [details]
anaconda.log
Comment 2 Alexander Todorov 2016-02-26 05:39 EST
Created attachment 1130815 [details]
packaging.log
Comment 3 Alexander Todorov 2016-02-26 05:39 EST
Created attachment 1130816 [details]
program.log
Comment 4 Alexander Todorov 2016-02-26 05:39 EST
Created attachment 1130817 [details]
storage.log
Comment 5 Alexander Todorov 2016-02-26 05:39 EST
Created attachment 1130818 [details]
syslog
Comment 7 Alexander Todorov 2016-02-26 07:55 EST
Created attachment 1130831 [details]
anaconda-yum.conf
Comment 8 David Shea 2016-02-26 08:46:16 EST
Have you tried with an actual proxy server? proxy.py is pretty basic, and it may be missing something that yum is trying to do with it.
Comment 9 Alexander Todorov 2016-02-29 07:26:30 EST
(In reply to David Shea from comment #8)
> Have you tried with an actual proxy server? proxy.py is pretty basic, and it
> may be missing something that yum is trying to do with it.

No, I haven't. The whole idea is to try and get proxy.py + RHEL 7 yum play together. 

I've tried pointing yum.conf on my desktop system (also RHEL 7) to the same proxy and it works. I'm able to download metadata + packages so the problem is something within the anaconda environment.
Comment 11 Brian Lane 2016-03-11 20:04:52 EST
(In reply to Alexander Todorov from comment #9)
> (In reply to David Shea from comment #8)
> > Have you tried with an actual proxy server? proxy.py is pretty basic, and it
> > may be missing something that yum is trying to do with it.
> 
> No, I haven't. The whole idea is to try and get proxy.py + RHEL 7 yum play
> together. 
> 
> I've tried pointing yum.conf on my desktop system (also RHEL 7) to the same
> proxy and it works. I'm able to download metadata + packages so the problem
> is something within the anaconda environment.

That isn't necessarily true. Please try with an actual proxy first. Also note that yum in the installer environment depends on support for partial content which doesn't work simple web servers. While this should be the same as the desktop I'm not 100% sure of that.

I've used 7.2 with polipo and haven't seen any problems.
Comment 12 Alexander Todorov 2016-05-31 09:30:45 EDT
I've tried pointing RHEL 7.2 anaconda to a Squid proxy running on a Fedora 23 host and didn't have any problems downloading and installing packages.

The only problem is downloading packages via proxy.py (repo metadata is downloaded just fine).
Comment 15 bdhess 2017-08-27 17:17:53 EDT
At the very least, it would be helpful if logging could be improved in this area.  I was pulling my hair out trying to figure out why I couldn't get a kickstart installation working serving with a Python SimpleHTTPServer.

It also seems like it would be fairly trivial for Anaconda to extract the byte ranges it needs itself in the event that the request is satisfied by an HTTP server that doesn't advertise support for range requests.
Comment 16 Jiri Konecny 2017-08-28 03:32:30 EDT
It depends on what logs you want to get. We are getting logs from yum, also we are logging some things by ourself. However, we are not able to provide you more information than we are able to get from yum and other other tools.

If you want better logging, please file a new bug. This bug is closed and it is specific to kickstart-tests not for logging in Anaconda.

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