From 478e2b801ca2e0e6e47f7e7dcf80b9b6e5b8beba Mon Sep 17 00:00:00 2001 From: Ross Brattain Date: Wed, 6 Sep 2017 02:55:16 -0700 Subject: ansible: update package proxy code re-enable retries Change-Id: I77738250e8aa8de3c8a8a1019093af04ce785ae0 Signed-off-by: Ross Brattain --- .../set_package_installer_proxy/tasks/Debian.yml | 35 +++++--------- .../set_package_installer_proxy/tasks/RedHat.yml | 49 +++++++++---------- .../set_package_installer_proxy/tasks/main.yml | 55 +++++++++------------- .../tasks/yum_disable_fastestmirrors.yml | 11 +++++ 4 files changed, 66 insertions(+), 84 deletions(-) create mode 100644 ansible/roles/set_package_installer_proxy/tasks/yum_disable_fastestmirrors.yml (limited to 'ansible/roles/set_package_installer_proxy') diff --git a/ansible/roles/set_package_installer_proxy/tasks/Debian.yml b/ansible/roles/set_package_installer_proxy/tasks/Debian.yml index 11117e5ed..d3891ab18 100644 --- a/ansible/roles/set_package_installer_proxy/tasks/Debian.yml +++ b/ansible/roles/set_package_installer_proxy/tasks/Debian.yml @@ -1,27 +1,16 @@ -# Copyright (c) 2016, Intel Corporation. +# Copyright (c) 2016-2017 Intel Corporation # -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at # -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of Intel Corporation nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. +# http://www.apache.org/licenses/LICENSE-2.0 # -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. --- - name: Create apt.conf.d/ proxy config template: @@ -29,7 +18,7 @@ dest: "/etc/apt/apt.conf.d/20proxy" - name: Test proxy connection -# async: "{{ connection_timeout }}" + async: "{{ connection_timeout }}" action: "{{ ansible_pkg_mgr }} name=tar state=latest update_cache=yes" -# poll: 0 + poll: 0 register: test_proxy_job_id diff --git a/ansible/roles/set_package_installer_proxy/tasks/RedHat.yml b/ansible/roles/set_package_installer_proxy/tasks/RedHat.yml index 809e43a60..1c3e9fb0f 100644 --- a/ansible/roles/set_package_installer_proxy/tasks/RedHat.yml +++ b/ansible/roles/set_package_installer_proxy/tasks/RedHat.yml @@ -1,27 +1,16 @@ -# Copyright (c) 2016, Intel Corporation. +# Copyright (c) 2016-2017 Intel Corporation # -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at # -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of Intel Corporation nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. +# http://www.apache.org/licenses/LICENSE-2.0 # -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. --- # must do this before setting yum proxy - name: find yum/dnf config @@ -48,10 +37,14 @@ with_items: "{{ packager_conf_stat.results }}" register: yum_proxy_lines -# - name: Test proxy connection -# # try workaround call makecache directly -# # yum module was failing for some reason -# async: "{{ connection_timeout }}" -# command: "{{ ansible_pkg_mgr }} -d2 -y makecache" -# poll: 0 -# register: test_proxy_job_id + - name: yum disable fastest mirrors + include: yum_disable_fastestmirrors.yml + when: ansible_pkg_mgr == 'yum' + + - name: Test proxy connection + # try workaround call makecache directly + # yum module was failing for some reason + async: "{{ connection_timeout }}" + command: "{{ ansible_pkg_mgr }} -d2 -y makecache" + poll: 0 + register: test_proxy_job_id diff --git a/ansible/roles/set_package_installer_proxy/tasks/main.yml b/ansible/roles/set_package_installer_proxy/tasks/main.yml index 9838cd489..fea424bf3 100644 --- a/ansible/roles/set_package_installer_proxy/tasks/main.yml +++ b/ansible/roles/set_package_installer_proxy/tasks/main.yml @@ -1,40 +1,29 @@ -# Copyright (c) 2016, Intel Corporation. +# Copyright (c) 2016-2017 Intel Corporation # -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at # -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of Intel Corporation nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. +# http://www.apache.org/licenses/LICENSE-2.0 # -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. --- - name: Configure package manager proxy include: "{{ ansible_os_family }}.yml" -# - async_status: jid={{ test_proxy_job_id.ansible_job_id }} -# register: test_proxy_result -# until: test_proxy_result.finished -# retries: 60 -# delay: 10 -# -# - debug: var=hostvars[item]['test_proxy_result'] -# with_items: "{{ hostvars }}" -# -# - name: Verify proxy test -# fail: msg="proxy test timeout" -# when: "{{ test_proxy_result.get('finished', 0) == 0 }}" + - async_status: jid={{ test_proxy_job_id.ansible_job_id }} + register: test_proxy_result + until: test_proxy_result.finished + retries: 60 + delay: 10 + + - debug: var=hostvars[item]['test_proxy_result'] + with_items: "{{ hostvars }}" + + - name: Verify proxy test + fail: msg="proxy test timeout" + when: "test_proxy_result.get('finished', 0) == 0" diff --git a/ansible/roles/set_package_installer_proxy/tasks/yum_disable_fastestmirrors.yml b/ansible/roles/set_package_installer_proxy/tasks/yum_disable_fastestmirrors.yml new file mode 100644 index 000000000..42388bcd9 --- /dev/null +++ b/ansible/roles/set_package_installer_proxy/tasks/yum_disable_fastestmirrors.yml @@ -0,0 +1,11 @@ +--- + - name: yum disable fastest mirrors + lineinfile: + dest: "/etc/yum/pluginconf.d/fastestmirror.conf" + regexp: "^enabled=1" + line: "enabled=0" + ignore_errors: true + + - name: yum clean all + command: yum clean all + -- cgit 1.2.3-korg