I have now worked around these issues, mostly by manually performing
steps on the command line or hacking the ansible scripts as previously
described. I have now managed to install pulp3. It wasn't easy.
Ben.
On 20/4/21 5:55 am, Mike DePaulo wrote:
Hi Ben,
I have experience dealing with http & https proxies in the past. I
would very much like to make pulp_installer work properly with them,
or to provide instructions on how to use them with it.
It seems like when software is configured internally to use a proxy,
it works. But when software is relying on environment variables, the
ansible become (i.e., sudo from "user1", to "root", to "pulp") gets
rid of the environment variable.
Try setting http_proxy and https_proxy as part of the user's
environment on the system, and configuring sudoers per this comment:
https://github.com/ansible/ansible/issues/38050#issuecomment-768501547
<https://github.com/ansible/ansible/issues/38050#issuecomment-768501547>
See in-line replies.
On Sun, Apr 18, 2021 at 10:14 PM Ben Stanley <ben.stan...@gmail.com
<mailto:ben.stan...@gmail.com>> wrote:
Hello Pulp people,
I'm trying to install pulp 3.12.0 on RHEL 7.8 using the ansible
method documented at
https://docs.pulpproject.org/pulpcore/installation/instructions.html
<https://docs.pulpproject.org/pulpcore/installation/instructions.html>
.
I have not yet managed to make it to the end of the
pulp_install.yml playbook without error. I have worked around 2
errors, but now I am stuck on the third. I believe the root cause
of my problems is trying to use a proxy server. I have set the
environment variables http_proxy, https_proxy and proxy appropriately.
1. At the step "TASK [pulp.pulp_installer.pulp_common : Import
required EPEL RPM GPG keys]"
(~/.ansible.collections/ansible_collections/pulp/pulp_installer/roles/pulp_common/tasks/repos.yml),
the rpm_key module has two problems.
1. The ansible rpm_key module fails to pass the proxy
settings to the underlying rpm call.
https://github.com/ansible/ansible/issules/19000
<https://github.com/ansible/ansible/issules/19000>
I worked around this problem by replacing the rpm_key
ansible module call with a raw line calling the rpm
command directly, and specifying the proxy settings to use.
See the link above for the environment variables.
1.
2. The rpm --import <key-url> command uses curl internally.
curl+proxy+https does not work, but curl+proxy+http works.
Note also wget+proxy+https works.
https://unix.stackexchange.com/questions/441021/curling-a-https-url-via-a-proxy-results-in-nss-error-5938
<https://unix.stackexchange.com/questions/441021/curling-a-https-url-via-a-proxy-results-in-nss-error-5938>
I worked around this problem by referencing the RPM-GPG
key with a http URL instead of a https URL.
That sounds like a bug in curl or libcurl. But if you are using a
proxy for https, then your system is talking to the proxy, which is in
turn talking to the webserver. So SSL is from your system to the
proxy. I suspect it's a cipher mismatch per that bug. Let me know if
you can figure out how to force the cipher.
Either way, I will discuss changing the URL from https to http, or
making it configurable via a variable at our next installer
development meeting.
1. At the step "TASK [pulp.pulp_installer.pulp_common : Upgrade
to a recent edition of pip (supporting manylinux2014)]"
(~/.ansible.collections/ansible_collections/pulp/pulp_installer/roles/pulp_common/tasks/install_pip.yml),
ansible fails with the error text:
fatal: [honeybee]: FAILED! => {"changed": false, "cmd":
["/usr/local/lib/pulp/bin/pip", "install", "pip>20.2"], "msg":
"stdout: Collecting pip>20.2\n\n:stderr: Retrying
(Retry(total=4, connect=None, read=None, redirect=None,
status=None)) after connection broken by
'ConnectTimeoutError(<pip._vendor.urllib3.connection.VerifiedHTTPSConnection
object at 0x7ffafd356dd8>, 'Connection to pypi.python.org
<http://pypi.python.org> timed out. (connect timeout=15)')':
/simple/pip/\n Retrying (Retry(total=3, connect=None,
read=None, redirect=None, status=None)) after connection
broken by
'NewConectionError('<pip.vendor.urllib3.connection.VerifiedHTTPSConnection
object at 0x7ffafd356ef0>: Failed to establish a new
connection: [Errno 101] Network is unreachable',)':
/simple/pip/\n Retrying (Retry(total=1, connect=None,
read=None, redirect=None, status=None)) after connection
broken by
'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection
object a 0x7ffafd356f98>:Failed to establish a new connection:
[Errno 101] Network is unreachable .....
I have not figured out how to work around this problem. It
seems that the pip ansible command is also not passing on the
correct proxy settings. I haven't even figured out how to work
around this problem running pip manually yet.
Hmm, so we start out with the old system version of pip, copied into
the virtualenv. Then we use it to upgrade the virtualenv the new
version of pip.
Perhaps the old version cannot talk to the proxy?
Try using the virtualenv like:
sudo -i -u pulp
source /usr/local/lib/pulp/bin/activate
export http_proxy=your-proxy-url
export https_proxy=your-proxy-url
pip install --upgrade pip
It would be fantastic if I could get some help with these issues
so that I can get my pulp server upgraded from pulp2 to pulp3.
Thanks,
Ben Stanley.
-Mike
--
Mike DePaulo
He / Him / His
Service Reliability Engineer, Pulp
Red Hat<https://www.redhat.com/>
IM: mikedep333
GPG: 51745404
<https://www.redhat.com/>
_______________________________________________
Pulp-list mailing list
Pulp-list@redhat.com
https://listman.redhat.com/mailman/listinfo/pulp-list