Skip to content

Commit

Permalink
Change the common proxy cache manage tasks to be stateful
Browse files Browse the repository at this point in the history
In certain situation the proxy cache manager may be down, misconfigured,
or otherwise not available. To ensure a consistent environment and give
the deployer a better build experience, especially in the case of an
AIO, the proxy cache common task has been changed to test for cache
availability and add/remove the cache files based on that test.

Change-Id: Ibd0186d67a844ec7b79f423adfb8104d13f72ca5
Closes-Bug: #1632826
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
  • Loading branch information
cloudnull authored and Jesse Pretorius (odyssey4me) committed Oct 12, 2016
1 parent 4b5fc5c commit 52d7ae8
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions playbooks/common-tasks/package-cache-proxy.yml
Expand Up @@ -13,18 +13,37 @@
# See the License for the specific language governing permissions and
# limitations under the License.

- name: test proxy URL for connectivity
uri:
url: "{{ repo_pkg_cache_url }}/acng-report.html"
method: "HEAD"
register: proxy_check
failed_when: false

- name: Drop apt package manager proxy
copy:
content: 'Acquire::http { Proxy "{{ repo_pkg_cache_url }}"; };'
dest: "/etc/apt/apt.conf.d/00apt-cacher-proxy"
when:
- proxy_check.status == 200
- ansible_os_family == 'Debian'
- repo_pkg_cache_enabled | bool

- name: Remove apt package manager proxy
file:
dest: "/etc/apt/apt.conf.d/00apt-cacher-proxy"
state: "absent"
when:
- proxy_check.status != 200
- ansible_os_family == 'Debian'
- repo_pkg_cache_enabled | bool

- name: Drop yum package manager proxy
lineinfile:
line: 'proxy={{ repo_pkg_cache_url }}'
dest: "/etc/yum.conf"
state: "{{ (proxy_check.status == 200) | ternary('present', 'absent') }}"
when:
- ansible_os_family == 'RedHat'
- repo_pkg_cache_enabled | bool

0 comments on commit 52d7ae8

Please sign in to comment.