diff --git a/meta/main.yml b/meta/main.yml index f76d2b7c..3adc5975 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -18,7 +18,7 @@ galaxy_info: description: Installation and setup of nova company: Rackspace license: Apache2 - min_ansible_version: 1.9 + min_ansible_version: 2.0 platforms: - name: Ubuntu versions: diff --git a/tasks/nova_install.yml b/tasks/nova_install.yml index dd95981c..94b42fc5 100644 --- a/tasks/nova_install.yml +++ b/tasks/nova_install.yml @@ -43,51 +43,13 @@ - nova-install - nova-pip-packages -- name: Get local venv checksum - stat: - path: "/var/cache/{{ nova_venv_download_url | basename }}" - get_md5: False - when: - - not nova_developer_mode | bool - register: local_venv_stat - tags: - - nova-install - - nova-pip-packages - -- name: Get remote venv checksum - uri: - url: "{{ nova_venv_download_url | replace('tgz', 'checksum') }}" - return_content: True - when: - - not nova_developer_mode | bool - register: remote_venv_checksum - tags: - - nova-install - - nova-pip-packages - -# TODO: When project moves to ansible 2 we can pass this a sha256sum which will: -# a) allow us to remove force: yes -# b) allow the module to calculate the checksum of dest file which would -# result in file being downloaded only if provided and dest sha256sum -# checksums differ - name: Attempt venv download get_url: url: "{{ nova_venv_download_url }}" dest: "/var/cache/{{ nova_venv_download_url | basename }}" - force: yes - failed_when: false - register: get_venv - when: - - not nova_developer_mode | bool - - (local_venv_stat.stat.exists == False or - {{ local_venv_stat.stat.checksum is defined and local_venv_stat.stat.checksum != remote_venv_checksum.content | trim }}) - tags: - - nova-install - - nova-pip-packages - -- name: Set nova get_venv fact - set_fact: - nova_get_venv: "{{ get_venv }}" + checksum: "sha1:{{ lookup('url', nova_venv_download_url | replace('tgz', 'checksum')) }}" + register: nova_get_venv + when: not nova_developer_mode | bool tags: - nova-install - nova-pip-packages @@ -96,8 +58,7 @@ file: path: "{{ nova_bin | dirname }}" state: absent - when: - - nova_get_venv | changed + when: nova_get_venv | changed tags: - nova-install - nova-pip-packages @@ -138,8 +99,7 @@ until: install_packages|success retries: 5 delay: 2 - when: - - nova_get_venv | failed or nova_developer_mode | bool + when: nova_developer_mode | bool notify: Restart nova services tags: - nova-install @@ -150,7 +110,7 @@ virtualenv-tools --update-path=auto {{ nova_bin | dirname }} when: - not nova_developer_mode | bool - - nova_get_venv | success + - nova_get_venv | changed or nova_venv_dir | changed tags: - nova-install - nova-pip-packages