From 2aa7f1ca8ac399b71bc3d106d9548aafdca2a663 Mon Sep 17 00:00:00 2001
From: Jean-Philippe Evrard <jean-philippe.evrard@rackspace.co.uk>
Date: Fri, 6 Jan 2017 12:08:30 +0000
Subject: [PATCH] Remove percona repo if not used

If the ``use_percona_upstream`` value is changed from True to False,
don't remove the existing repository. This is also the source of a bug
in Mitaka: We were installing the repo by default and installed the
percona-xtrabackup tool with a deb file. If another playbook/role
installed percona-xtrabackup, it would override (and probably upgrade)
the deb installed version, which is undesired.

Change-Id: I2ccc2904d0d4244dc0792411b49763cc3f7e2e22
Closes-Bug: 1653947
Signed-off-by: Jean-Philippe Evrard <jean-philippe.evrard@rackspace.co.uk>
---
 ...the-repo-is-removed-if-not-used-36670d0a276192f1.yaml | 9 +++++++++
 tasks/galera_install_apt.yml                             | 3 +--
 2 files changed, 10 insertions(+), 2 deletions(-)
 create mode 100644 releasenotes/notes/make-sure-the-repo-is-removed-if-not-used-36670d0a276192f1.yaml

diff --git a/releasenotes/notes/make-sure-the-repo-is-removed-if-not-used-36670d0a276192f1.yaml b/releasenotes/notes/make-sure-the-repo-is-removed-if-not-used-36670d0a276192f1.yaml
new file mode 100644
index 00000000..28cb5155
--- /dev/null
+++ b/releasenotes/notes/make-sure-the-repo-is-removed-if-not-used-36670d0a276192f1.yaml
@@ -0,0 +1,9 @@
+---
+fixes:
+  - The percona repository stayed in placed even after
+    a change of the variable ``use_percona_upstream``.
+    From now on, the percona repository will not be
+    present unless the deployer decides to
+    ``use_percona_upstream``. This also fixes a bug
+    of the presence of this apt repository after an
+    upgdrade from Mitaka.
diff --git a/tasks/galera_install_apt.yml b/tasks/galera_install_apt.yml
index 53cd7e16..aa275bcc 100644
--- a/tasks/galera_install_apt.yml
+++ b/tasks/galera_install_apt.yml
@@ -86,12 +86,11 @@
   apt_repository:
     repo: "{{ galera_percona_xtrabackup_repo.repo }}"
     filename: "{{ galera_percona_xtrabackup_repo.filename }}"
-    state: "{{ galera_percona_xtrabackup_repo.state }}"
+    state: "{{ use_percona_upstream | bool | ternary('present','absent') }}"
   register: add_repos
   until: add_repos|success
   retries: 5
   delay: 2
-  when: use_percona_upstream | bool
   tags:
     - percona-repos