Files
openstack-ansible-haproxy_s…/tasks/haproxy_add_ppa_repo.yml
Logan V eb635950b8 Allow sourcing apt_key from URL
Allow deployers to specificy a remote URL to download apt signing
keys from.

Example:
galera_client_gpg_keys:
  - key_name: 'mariadb'
    url: "https://some.webserver.com/mariadb.gpg"
    fallback_url: "https://other.webserver.com/mariadb.gpg"
    hash_id: '0xcbcb082a1bb943db'
  - key_name: 'percona-xtrabackup'
    keyserver: 'hkp://keyserver.ubuntu.com:80'
    fallback_keyserver: 'hkp://p80.pool.sks-keyservers.net:80'
    hash_id: '0x1c4cbdcdcd2efd2a'

Change-Id: I781cb8f5744c4e1e8e728a8ad308d135d2e5922c
2016-01-22 11:39:06 -06:00

90 lines
2.3 KiB
YAML

---
# Copyright 2014, Rackspace US, Inc.
#
# 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
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# 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: Update apt sources
apt:
update_cache: yes
cache_valid_time: 600
register: apt_update
until: apt_update|success
retries: 5
delay: 2
tags:
- haproxy-apt-packages
- name: Install haproxy pre packages
apt:
pkg: "{{ item }}"
state: latest
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: haproxy_pre_apt_packages
tags:
- haproxy-pre-apt-packages
- name: Add haproxy apt-keys
apt_key:
id: "{{ item.hash_id }}"
keyserver: "{{ item.keyserver | default(omit) }}"
data: "{{ item.data | default(omit) }}"
url: "{{ item.url | default(omit) }}"
state: "present"
register: add_keys
until: add_keys|success
ignore_errors: True
retries: 5
delay: 2
with_items: haproxy_gpg_keys
tags:
- haproxy-apt-keys
- name: Add haproxy apt-keys using fallback keyserver
apt_key:
id: "{{ item.hash_id }}"
keyserver: "{{ item.fallback_keyserver | default(omit) }}"
url: "{{ item.fallback_url | default(omit) }}"
state: "present"
register: add_keys_fallback
until: add_keys_fallback|success
retries: 5
delay: 2
with_items: haproxy_gpg_keys
when: add_keys|failed and (item.fallback_keyserver is defined or item.fallback_url is defined)
tags:
- haproxy-apt-keys
- name: Drop haproxy repo pin
template:
src: "haproxy_pin.pref.j2"
dest: "/etc/apt/preferences.d/haproxy_pin.pref"
owner: "root"
group: "root"
mode: "0644"
tags:
- haproxy-repo-pin
- name: Add haproxy repo(s)
apt_repository:
repo: "{{ haproxy_apt_repo.repo }}"
state: "{{ haproxy_apt_repo.state }}"
register: add_repos
until: add_repos|success
retries: 5
delay: 2
tags:
- haproxy-repos