Undercloud install fails with http_proxy and 127.0.0.1 NOT in no_proxy

Bug #1815814 reported by Ben Nemec on 2019-02-13
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
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

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

Changed in tripleo:
status: Triaged → In Progress
tags: added: ux
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?

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.

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.

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
tags: added: rocky-backport-potential

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

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

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

Other bug subscribers