From afcfdb5c6e76d2124fff52028f1c0694a4a155af Mon Sep 17 00:00:00 2001 From: James Gu Date: Fri, 24 Apr 2020 23:26:49 +0000 Subject: [PATCH] Proxy support enhancement Added gate scripts and playbook enhancement to run airshipctl behind proxy. Change-Id: Icc3cdcd6fd150420103f907cd1871feba1ccd223 Signed-off-by: James Gu --- docs/source/developers.md | 4 ---- playbooks/vars/local-dev.yaml | 7 ++++++- roles/airshipctl-build-ephemeral-iso/defaults/main.yml | 4 +++- roles/airshipctl-deploy-ephemeral-node/tasks/main.yaml | 4 ++-- roles/apache-wsgi-sushy-emulator/tasks/frontend.yml | 5 +++++ tools/gate/config_template.yaml | 5 +++++ 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/docs/source/developers.md b/docs/source/developers.md index d8a2f60b7..758148efb 100644 --- a/docs/source/developers.md +++ b/docs/source/developers.md @@ -32,13 +32,9 @@ to define the following environment variables with your organization's information: ``` -http_proxy=http://username:password@host:port -https_proxy=http://username:password@host:port -no_proxy="localhost,127.0.0.1" HTTP_PROXY=http://username:password@host:port HTTPS_PROXY=http://username:password@host:port NO_PROXY="localhost,127.0.0.1" -PROXY=http://username:password@host:port USE_PROXY=true ``` diff --git a/playbooks/vars/local-dev.yaml b/playbooks/vars/local-dev.yaml index c7a63979b..cc6e4cf9f 100644 --- a/playbooks/vars/local-dev.yaml +++ b/playbooks/vars/local-dev.yaml @@ -10,4 +10,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -remote_work_dir: "/tmp/airship" \ No newline at end of file +remote_work_dir: "/tmp/airship" +proxy: + enabled: "{{ lookup('env', 'USE_PROXY', default='false') }}" + http: "{{ lookup('env', 'HTTP_PROXY', default='') }}" + https: "{{ lookup('env', 'HTTPS_PROXY', default='') }}" + noproxy: "{{ lookup('env', 'NO_PROXY', default='') }}" diff --git a/roles/airshipctl-build-ephemeral-iso/defaults/main.yml b/roles/airshipctl-build-ephemeral-iso/defaults/main.yml index bf6fa2f2b..455091742 100644 --- a/roles/airshipctl-build-ephemeral-iso/defaults/main.yml +++ b/roles/airshipctl-build-ephemeral-iso/defaults/main.yml @@ -11,5 +11,7 @@ # limitations under the License. proxy: + enabled: false http: - noproxy: \ No newline at end of file + https: + noproxy: diff --git a/roles/airshipctl-deploy-ephemeral-node/tasks/main.yaml b/roles/airshipctl-deploy-ephemeral-node/tasks/main.yaml index bf3ae03b8..feece43ae 100644 --- a/roles/airshipctl-deploy-ephemeral-node/tasks/main.yaml +++ b/roles/airshipctl-deploy-ephemeral-node/tasks/main.yaml @@ -20,8 +20,8 @@ --kubeconfig {{ airshipctl_config_dir_default | default(ansible_env.HOME) }}/.airship/kubeconfig \ version register: airship_kubecofig_version - retries: 50 - delay: 20 + retries: 100 + delay: 50 until: airship_kubecofig_version.rc == 0 - name: debug kubectl version diff --git a/roles/apache-wsgi-sushy-emulator/tasks/frontend.yml b/roles/apache-wsgi-sushy-emulator/tasks/frontend.yml index 2946b94a8..0d5dffc3d 100644 --- a/roles/apache-wsgi-sushy-emulator/tasks/frontend.yml +++ b/roles/apache-wsgi-sushy-emulator/tasks/frontend.yml @@ -92,6 +92,11 @@ url: http://{{ sushy_emulator_frontend_servername }}:{{sushy_emulator_frontend_http_port }}/redfish/v1/Systems?format=json method: GET return_content: yes + register: sushy_get_result + until: sushy_get_result.status == 200 + retries: 18 + delay: 10 + - name: Check with auth when: sushy_emulator_frontend_user is defined uri: diff --git a/tools/gate/config_template.yaml b/tools/gate/config_template.yaml index 68d6153af..0cb177dc6 100644 --- a/tools/gate/config_template.yaml +++ b/tools/gate/config_template.yaml @@ -24,3 +24,8 @@ zuul: log_root: "$TMP_DIR" project: src_dir: "$AIRSHIPCTL_WS" +proxy: + enabled: "$USE_PROXY" + http: "$HTTP_PROXY" + https: "$HTTPS_PROXY" + noproxy: "$NO_PROXY"