From fd5324db849632521e711aef921283fe1cf228c5 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Wed, 10 May 2017 14:32:50 +0200 Subject: [PATCH] haproxy: use APT preferences to install haproxy from backports --- haproxy-backports-preferences/README.md | 5 +++++ .../files/haproxy_preferences | 3 +++ .../handlers/main.yml | 4 ++++ haproxy-backports-preferences/meta/main.yml | 19 +++++++++++++++++++ haproxy-backports-preferences/tasks/main.yml | 10 ++++++++++ haproxy/README.md | 5 +---- haproxy/defaults/main.yml | 2 -- haproxy/tasks/main.yml | 4 +--- 8 files changed, 43 insertions(+), 9 deletions(-) create mode 100644 haproxy-backports-preferences/README.md create mode 100644 haproxy-backports-preferences/files/haproxy_preferences create mode 100644 haproxy-backports-preferences/handlers/main.yml create mode 100644 haproxy-backports-preferences/meta/main.yml create mode 100644 haproxy-backports-preferences/tasks/main.yml delete mode 100644 haproxy/defaults/main.yml diff --git a/haproxy-backports-preferences/README.md b/haproxy-backports-preferences/README.md new file mode 100644 index 00000000..ad4ffbf9 --- /dev/null +++ b/haproxy-backports-preferences/README.md @@ -0,0 +1,5 @@ +# haproxy-backports-preferences + +Configure APT to prefer haproxy package from jessie-backports. + +There is no variable, just a files copied to `/etc/apt/preferences.d/`. diff --git a/haproxy-backports-preferences/files/haproxy_preferences b/haproxy-backports-preferences/files/haproxy_preferences new file mode 100644 index 00000000..18de5cea --- /dev/null +++ b/haproxy-backports-preferences/files/haproxy_preferences @@ -0,0 +1,3 @@ +Package: haproxy +Pin: release a=jessie-backports +Pin-Priority: 999 diff --git a/haproxy-backports-preferences/handlers/main.yml b/haproxy-backports-preferences/handlers/main.yml new file mode 100644 index 00000000..e68f5c28 --- /dev/null +++ b/haproxy-backports-preferences/handlers/main.yml @@ -0,0 +1,4 @@ +--- +- name: apt update + apt: + update_cache: yes diff --git a/haproxy-backports-preferences/meta/main.yml b/haproxy-backports-preferences/meta/main.yml new file mode 100644 index 00000000..9483c01e --- /dev/null +++ b/haproxy-backports-preferences/meta/main.yml @@ -0,0 +1,19 @@ +galaxy_info: + author: Evolix + description: Configure APT to prefer haproxy package from jessie-backports + + issue_tracker_url: https://forge.evolix.org/projects/ansible-roles/issues + + license: GPLv2 + + min_ansible_version: 2.2 + + platforms: + - name: Debian + versions: + - jessie + +dependencies: [] + # List your role dependencies here, one per line. + # Be sure to remove the '[]' above if you add dependencies + # to this list. diff --git a/haproxy-backports-preferences/tasks/main.yml b/haproxy-backports-preferences/tasks/main.yml new file mode 100644 index 00000000..8d096541 --- /dev/null +++ b/haproxy-backports-preferences/tasks/main.yml @@ -0,0 +1,10 @@ +--- +- name: Prefer HAProxy package from jessie-backports + copy: + src: haproxy_preferences + dest: /etc/apt/preferences.d/999-haproxy + force: yes + mode: "0640" + notify: apt update + +- meta: flush_handlers diff --git a/haproxy/README.md b/haproxy/README.md index 35aacd04..864a9601 100644 --- a/haproxy/README.md +++ b/haproxy/README.md @@ -8,10 +8,7 @@ Everything is in the `tasks/main.yml` file. ## Available variables -* `general_package_release`: which Debian release to use generally (default: `stable`). -* `haproxy_package_release`: which Debian release to use for HAProxy (default: `general_package_release`). - -The full list of variables (with default values) can be found in `defaults/main.yml`. +There is no variable. ## Configuration templates diff --git a/haproxy/defaults/main.yml b/haproxy/defaults/main.yml deleted file mode 100644 index 9df2bfc1..00000000 --- a/haproxy/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -general_package_release: stable diff --git a/haproxy/tasks/main.yml b/haproxy/tasks/main.yml index 4ae13dea..867d4a9e 100644 --- a/haproxy/tasks/main.yml +++ b/haproxy/tasks/main.yml @@ -8,9 +8,7 @@ - name: Install HAProxy package apt: name: haproxy - default_release: "{{ haproxy_package_release or general_package_release | mandatory }}" - update_cache: True - state: present + state: installed - name: Copy HAProxy configuration template: