Undercloud install fails with http_proxy and 127.0.0.1 NOT in no_proxy

Bug #1815814 reported by Ben Nemec
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Medium
Alex Schultz

Bug Description

In https://github.com/openstack/python-tripleoclient/commit/0e5a10e2972fec3ee0ba02aac5bc468bb3696055 we started passing the current environment to the undercloud install. This can cause problems for people who set http_proxy because it introduces a new requirement that no_proxy include 127.0.0.1. Previously it just needed to include the undercloud IPs (192.168.24.{1, 2, 3} by default).

The symptom is that the undercloud install times out waiting for the standalone Heat to start because apparently it tries to proxy the call to localhost, which of course does not work correctly. The exception message is "RuntimeError: wait_api_port_ready: Max retries 30 reached". Adding 127.0.0.1 to no_proxy solves the problem.

Changed in tripleo:
assignee: nobody → Alex Schultz (alex-schultz)
milestone: none → stein-3
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-tripleoclient (master)

Fix proposed to branch: master
Review: https://review.openstack.org/636772

Changed in tripleo:
status: Triaged → In Progress
tags: added: ux
Revision history for this message
Rabi Mishra (rabi) wrote :

Isn't a user expected to set proxy exceptions for localhost/127.0.0.1 (along with other ips to bypass) by default, whenever setting http_proxy? IMO, it's rather a misconfiguration than a bug, no?

Revision history for this message
Ben Nemec (bnemec) wrote :

Yes, but it wasn't necessary in the past. Alex asked me to open this bug to track adding a validation for a better UX so the undercloud deployment doesn't just mysteriously time out when things are not configured correctly.

Revision history for this message
Alex Schultz (alex-schultz) wrote :

Yes this is new to the containerized undercloud because previously we didn't rely on http requests to localhost. It's a UX thing as the error message is that we timeout trying to check on the heat-all instance we launch during the deployment. I proposed a patch to valid the no_proxy bits to ensure we can at least warn the user upfront of the incorrect configuration that might lead to a failure.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-tripleoclient (master)

Reviewed: https://review.openstack.org/636772
Committed: https://git.openstack.org/cgit/openstack/python-tripleoclient/commit/?id=281e01967620a2a1db1a8ef6de9d3baa18cd636e
Submitter: Zuul
Branch: master

commit 281e01967620a2a1db1a8ef6de9d3baa18cd636e
Author: Alex Schultz <email address hidden>
Date: Wed Feb 13 15:40:05 2019 -0700

    Check proxy env vars

    If a user is using http_proxy or https_proxy but is not excluding
    localhost from being proxied via the no_proxy var it can lead to a
    failure when we try and talk to the heat api. This change adds a check
    that is used for both the standalone tripleo deploy command and
    the undercloud install to ensure the end user does not hit this
    condition.

    Change-Id: I507d81278097bc3b5e23d53ae35aa26657541bfc
    Closes-Bug: #1815814

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-tripleoclient (stable/rocky)

Fix proposed to branch: stable/rocky
Review: https://review.openstack.org/638710

tags: added: rocky-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-tripleoclient (stable/rocky)

Reviewed: https://review.openstack.org/638710
Committed: https://git.openstack.org/cgit/openstack/python-tripleoclient/commit/?id=ddc53a064123bc3c4c8073f2906305ba046970d5
Submitter: Zuul
Branch: stable/rocky

commit ddc53a064123bc3c4c8073f2906305ba046970d5
Author: Alex Schultz <email address hidden>
Date: Wed Feb 13 15:40:05 2019 -0700

    Check proxy env vars

    If a user is using http_proxy or https_proxy but is not excluding
    localhost from being proxied via the no_proxy var it can lead to a
    failure when we try and talk to the heat api. This change adds a check
    that is used for both the standalone tripleo deploy command and
    the undercloud install to ensure the end user does not hit this
    condition.

    Change-Id: I507d81278097bc3b5e23d53ae35aa26657541bfc
    Closes-Bug: #1815814
    (cherry picked from commit 281e01967620a2a1db1a8ef6de9d3baa18cd636e)

tags: added: in-stable-rocky
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/python-tripleoclient 11.3.0

This issue was fixed in the openstack/python-tripleoclient 11.3.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/python-tripleoclient 10.7.0

This issue was fixed in the openstack/python-tripleoclient 10.7.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.