From d37e45910a53063b7c13e3d521b538cde8fc946b Mon Sep 17 00:00:00 2001 From: Brian Helba Date: Thu, 9 Jan 2020 20:17:17 -0500 Subject: [PATCH] Make pip install under Ansible idempotent --- ansible/roles/isic/tasks/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ansible/roles/isic/tasks/main.yml b/ansible/roles/isic/tasks/main.yml index c2beb3a4..9c74d6c7 100644 --- a/ansible/roles/isic/tasks/main.yml +++ b/ansible/roles/isic/tasks/main.yml @@ -16,8 +16,9 @@ - name: Install isic-archive package pip: - # TODO: Ansible will always mark this task as changed - name: "{{ isic_repo_path }}" + # prefixing with "git+" causes Ansible to use the output of "pip list" to determine whether + # this step is changed (even though a reinstall is always done) + name: "git+file://{{ isic_repo_path }}#egg=isic-archive" # 'forcereinstall' will reinstall all packages, not just the named one, which is good for # making this operation as stateless as possible (i.e. new installs will end up with the same # package versions as existing installs)