File diff ae30483e6fc2 → 76588ecee3af
roles/common/tasks/main.yml
Show inline comments
 
@@ -149,6 +149,65 @@
 
- name: Install apticron (for checking available upgrades)
 
  apt: name=apticron state=installed
 

	
 
# Implementation for checking pip requirements files via via pip-tools.
 
- name: Install virtualenv for pip requirements checks
 
  apt: name=virtualenv state=installed
 

	
 
- name: Create dedicated group for user running pip requirements checks
 
  group: name="pipreqcheck" gid="{{ pipreqcheck_gid | default(omit) }}" state=present
 

	
 
- name: Create user for running pip requirements checks
 
  user: name="pipreqcheck" uid="{{ pipreqcheck_uid | default(omit) }}" group="pipreqcheck"
 
        home="/var/lib/pipreqcheck" state=present
 

	
 
- name: Create directory for Python virtual environment used for installing/running pip-tools
 
  file: path="/var/lib/pipreqcheck/virtualenv" state=directory
 
        owner="pipreqcheck" group="pipreqcheck" mode="0750"
 

	
 
- name: Create Python virtual environment used for installing/running pip-tools
 
  become_user: "pipreqcheck"
 
  command: /usr/bin/virtualenv --prompt "(pipreqcheck)" "/var/lib/pipreqcheck/virtualenv" creates="/var/lib/pipreqcheck/virtualenv/bin/activate"
 

	
 
- name: Create directory for storing pip requirements files
 
  file: path="/etc/pip_check_requirements_upgrades" state="directory"
 
        owner="root" group="pipreqcheck" mode=750
 

	
 
- name: Set-up directory for storing pip requirements file for pip-tools virtual environment itself
 
  file: path="/etc/pip_check_requirements_upgrades/pipreqcheck" state="directory"
 
        owner="root" group="pipreqcheck" mode=750
 

	
 
- name: Deploy .in file for pip requirements in pip-tools virtual environment
 
  copy: src="pipreqcheck_requirements.in" dest="/etc/pip_check_requirements_upgrades/pipreqcheck/requirements.in"
 
        owner="root" group="pipreqcheck" mode=640
 

	
 
- name: Deploy requirements file for pipreqcheck virtual environment
 
  template: src="pipreqcheck_requirements.txt.j2" dest="/etc/pip_check_requirements_upgrades/pipreqcheck/requirements.txt"
 
            owner="root" group="pipreqcheck" mode=640
 

	
 
- name: Install latest pip in pip-tools virtual environment
 
  become_user: "pipreqcheck"
 
  pip: name=pip state=latest virtualenv="~pipreqcheck/virtualenv"
 

	
 
- name: Install pip-tools if not present
 
  become_user: "pipreqcheck"
 
  pip: name=pip-tools state=present virtualenv="~pipreqcheck/virtualenv"
 

	
 
- name: Synchronise pip-tools virtual environment via deployed requirements file
 
  become_user: "pipreqcheck"
 
  shell: "source ~pipreqcheck/virtualenv/bin/activate && pip-sync /etc/pip_check_requirements_upgrades/pipreqcheck/requirements.txt"
 
  args:
 
    executable: /bin/bash
 
  register: pipreqcheck_pip_sync
 
  changed_when: "pipreqcheck_pip_sync.stdout != 'Everything up-to-date'"
 

	
 
- name: Deploy script for checking available upgrades
 
  copy: src="pip_check_requirements_upgrades.sh" dest="/usr/local/bin/pip_check_requirements_upgrades.sh"
 
        owner=root group=root mode=755
 

	
 
- name: Deploy crontab entry for checking pip requirements
 
  cron: name="check_pip_requirements" cron_file="check_pip_requirements" hour=0 minute=0 job="/usr/local/bin/pip_check_requirements_upgrades.sh /etc/pip_check_requirements_upgrades"
 
        state=present user=pipreqcheck
 

	
 
- name: Explicitly run all handlers
 
  include: ../handlers/main.yml
 
  when: "handlers | default(False) | bool() == True"