Added ability to cleanup venv tgz, use find module

cleanup-venvs.yml now removes older venv tgz, in addition to older venvs
directories.

It now uses the more appropriate and efficient find module instead of
the shell module.

Change-Id: Iab98039a84bb4b0e787c439d67fa81b7e108c3ff
This commit is contained in:
Adrien Cunin 2017-11-29 10:49:29 +01:00
parent e5b4d98f81
commit 00a1e37787
1 changed files with 26 additions and 9 deletions

View File

@ -13,17 +13,34 @@
# See the License for the specific language governing permissions and
# limitations under the License.
---
- name: Remove older venvs
hosts: all
tasks:
- name: List older venvs directories
shell: "ls -1 /openstack/venvs | grep -v '{{ venv_tag }}$'"
register: files
when: venv_tag is defined
failed_when: files.rc == 2
- name: Delete directories
- name: List venvs directories
find:
paths: /openstack/venvs
file_type: directory
patterns: '.*(?<!{{ venv_tag }})$'
use_regex: yes
register: result
- name: Delete older directories
file:
path: "/openstack/venvs/{{ item }}"
path: "{{ item.path }}"
state: absent
with_items: "{{ files.stdout_lines }}"
with_items: "{{ result.files }}"
- name: Remove older venv tgz
hosts: all
tasks:
- name: List venv tgz
find:
paths: /var/cache
file_type: file
patterns: '.*(?<!{{ venv_tag }})-{{ ansible_architecture | lower }}\.tgz$'
use_regex: yes
register: result
- name: Delete older tgz
file:
path: "{{ item.path }}"
state: absent
with_items: "{{ result.files }}"