Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 766199
Summary: | Unable to set proxy for all roots | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jan Kratochvil <jan.kratochvil> |
Component: | mock | Assignee: | Clark Williams <williams> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 16 | CC: | jan.kratochvil, kari.hautio, mebrown, pcfe, williams |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | mock-1.0.28-1.el5 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-01-22 05:25:03 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Attachments: |
Description
Jan Kratochvil
2011-12-10 22:42:23 UTC
Jan, You're going to have to help me a bit with some Proxy 101. I understand that what we're trying to do here is redirect HTTP requests from going straight to a network interface/address/port tuple to go to specified localhost port, presumably where a proxy (squid) is listening. That's about the extent of my proxy experience. Guessing that "build" from the receipe above, should actually be <your login> so that what you're doing is setting the environment variable http_proxy in the account that is also a member of the mock group. If the environment variable 'http-proxy' is the redirection mechanism, I'll bet it's been broken for a while. Consolehelper and the environment variable cleanup probably killed it. So, let me poke a bit at the configuration code. I believe what we need is: 1. make sure that http_proxy gets into the environment after the consolehelper startup (take the value from the config file) and/or 2. ensure we configure the yum config file properly. Created attachment 545339 [details]
simple patch to propagate proxy environment variable setting
Jan,
Please try adding this patch (since you already have a squid setup). If you can't I'll try it tomorrow.
Thanks, just I do not see a change with this patch. Tried in /etc/mock/site-defaults.cfg both: config_opts['environment']['http_proxy'] = 'http://127.0.0.1:3128/' and config_opts['http_proxy'] = 'http://127.0.0.1:3128/' and it always ends up: A \_ mock -r fedora-16-x86_64 --init B \_ /usr/bin/python -tt /usr/sbin/mock -r fedora-16-x86_64 --init C \_ /usr/bin/python /usr/bin/yum --installroot /var/lib/mock/fedora-16-x86_64/root/ groupinstall buildsys-build B: DISPLAY=:0.0 LANG=en_US.UTF-8 SHELL=/bin/bash TERM=xterm PATH=/usr/sbin:/usr/bin:/sbin:/bin:/root/bin LOGNAME=root USER=root USERHELPER_UID=0 HOME=/root C: LANG=en_US.UTF-8 TERM=vt100 SHELL=/bin/bash HOSTNAME=mock HOME=/builddir PATH=/usr/bin:/bin:/usr/sbin:/sbin TMPDIR=/tmp with no http_proxy anywhere (and still downloading without any proxy). (In reply to comment #2) > (since you already have a squid setup). IMO if it just starts erroring out on ECONNREFUSED it is a win for you. Created attachment 550269 [details]
Patch to setup http_proxy environment variable in chroot via config
I believe this patch sets up http_proxy properly. Uncomment the variable definition in site-defaults.cfg and it should setup http_proxy in the chroot (at least when I did it with --shell it was there and yum failed miserably when running in the chroot :).
(In reply to comment #4) > I believe this patch sets up http_proxy properly. It does not for me. It is the same patch as in Comment 2 and it does not work the same way I described in Comment 3: I did: patch /usr/lib/python2.7/site-packages/mockbuild/backend.py </tmp/1 and put config_opts['http_proxy'] = 'http://localhost:3128' to /etc/mock/site-defaults.cfg and ran mock -r fedora-16-x86_64 --init and got in netstat -p: tcp 0 0 host2.jan:47634 odysseus.ip6.fi.muni.c:http ESTABLISHED 24068/python tcp 0 0 host2.jan:44958 2610:28:3090:3001:dead:http ESTABLISHED 24068/python while 24068 was: 24053 \_ mock -r fedora-16-x86_64 --init 24054 \_ /usr/bin/python -tt /usr/sbin/mock -r fedora-16-x86_64 --init 24068 \_ /usr/bin/python /usr/bin/yum --installroot /var/lib/mock/fedora-16-x86_64/root/ groupinstall buildsys-build and /var/log/squid/access.log also remained completely empty. > it should setup http_proxy in the chroot (at least when I did it with --shell > it was there and yum failed miserably when running in the chroot :). It may have effect for --shell but that is a second step. I can easily workaround that part (in fact my .bashrc already probably workarounds that). Proxy support for mock should IMO primarily mean to support proxy for mock --init and mock --update. Sure still thanks for the patch. Created attachment 550762 [details]
call chroot.doChroot to pass configured environment to chroot when running a rebuild
Argghh, I forgot this patch, which actually passes the appropriate environment to the chroot when running a rebuild.
I have used the Comment 6 patch for /usr/sbin/mock , together with the state of Comment 5, and I still see no proxy used on --init. Does it work for you? mock-1.1.19-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.19-1.el6 mock-1.1.19-1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/mock-1.1.19-1.fc16 mock-1.0.26-1.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/mock-1.0.26-1.el5 mock-1.1.19-1.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/mock-1.1.19-1.fc15 Why is this Bug MODIFIED and included in Bodhi when it still does not work? This is not true: * add code to allow global proxy in chroot [BZ# 766199] mock-1.1.19-2.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/mock-1.1.19-2.fc15 mock-1.1.19-2.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.19-2.el6 mock-1.0.26-2.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/mock-1.0.26-2.el5 mock-1.1.19-2.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/mock-1.1.19-2.fc16 Package mock-1.1.19-2.el6: * should fix your issue, * was pushed to the Fedora EPEL 6 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=epel-testing mock-1.1.19-2.el6' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-EPEL-2012-0134/mock-1.1.19-2.el6 then log in and leave karma (feedback). It works now, for --init, --update and even yum inside --shell. It ignores $http_proxy but it follows config_opts['http_proxy'] in /etc/mock/site-defaults.cfg . Thanks! Package mock-1.1.19-2.fc15: * should fix your issue, * was pushed to the Fedora 15 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing mock-1.1.19-2.fc15' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-0536/mock-1.1.19-2.fc15 then log in and leave karma (feedback). mock-1.1.19-2.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report. mock-1.1.20-1.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/mock-1.1.20-1.fc15 mock-1.1.20-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.20-1.el6 mock-1.1.20-1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/mock-1.1.20-1.fc16 mock-1.0.27-2.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/mock-1.0.27-2.el5 mock-1.1.20-1.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report. mock-1.1.21-1.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/mock-1.1.21-1.fc15 mock-1.1.21-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.1.21-1.el6 mock-1.0.28-1.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/mock-1.0.28-1.el5 mock-1.1.21-1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/mock-1.1.21-1.fc16 mock-1.1.21-1.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report. mock-1.1.21-1.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report. mock-1.1.21-1.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report. mock-1.0.28-1.el5 has been pushed to the Fedora EPEL 5 stable repository. If problems still persist, please make note of it in this bug report. |