From d57237c8aeb7c4af833f4d27e3af9a5537a085c2 Mon Sep 17 00:00:00 2001 From: Logan V Date: Fri, 13 Jan 2017 19:52:42 -0600 Subject: [PATCH] Clean up developer mode logic Fixes the ability to deploy a venv in cases where: 1) developer_mode is not enabled 2) A cached venv is not downloaded from the repo server Additional cleanup to the developer_mode venv deployment logic is implemented by adding a *_venv_download var which is used to decouple developer_mode from the cached venv extraction process so that a deployer can force venv builds in-place (disable cached venv usage) without enabling developer mode constraints. Change-Id: I6b0c6b4708b449e1961fce0e2b98389813844fc9 --- defaults/main.yml | 3 +++ tasks/tempest_install.yml | 16 ++++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 67119cf5..f22d6fa4 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -33,6 +33,9 @@ tempest_developer_constraints: # Name of the virtual env to deploy into tempest_venv_tag: untagged tempest_venv_bin: "/openstack/venvs/tempest-{{ tempest_venv_tag }}/bin" +# venv_download, even when true, will use the fallback method of building the +# venv from scratch if the venv download fails. +tempest_venv_download: "{{ not tempest_developer_mode | bool }}" tempest_venv_download_url: http://127.0.0.1/venvs/untagged/ubuntu/tempest.tgz # The location where the tempest logs will be placed diff --git a/tasks/tempest_install.yml b/tasks/tempest_install.yml index b7f60732..227fe4dd 100644 --- a/tasks/tempest_install.yml +++ b/tasks/tempest_install.yml @@ -48,7 +48,7 @@ dest: "/var/cache/{{ tempest_venv_download_url | basename }}" checksum: "sha1:{{ lookup('url', tempest_venv_download_url | replace('tgz', 'checksum')) }}" register: tempest_get_venv - when: not tempest_developer_mode | bool + when: tempest_venv_download | bool - name: Remove existing venv file: @@ -82,15 +82,14 @@ state: directory mode: "0755" register: tempest_venv_dir + when: tempest_get_venv | changed - name: Unarchive pre-built venv unarchive: src: "/var/cache/{{ tempest_venv_download_url | basename }}" dest: "{{ tempest_venv_bin | dirname }}" copy: "no" - when: - - not tempest_developer_mode | bool - - tempest_get_venv | changed or tempest_venv_dir | changed + when: tempest_get_venv | changed - name: Install pip packages pip: @@ -106,7 +105,7 @@ until: install_packages|success retries: 5 delay: 2 - when: tempest_developer_mode | bool + when: tempest_get_venv | failed or tempest_get_venv | skipped - name: CentOS remove python from path first file: @@ -114,15 +113,12 @@ state: "absent" when: - ansible_pkg_mgr == 'yum' - - not tempest_developer_mode | bool - - tempest_get_venv | changed or tempest_venv_dir | changed + - tempest_get_venv | changed - name: Update virtualenv path command: > virtualenv-tools --update-path=auto --reinitialize {{ tempest_venv_bin | dirname }} - when: - - not tempest_developer_mode | bool - - tempest_get_venv | changed or tempest_venv_dir | changed + when: tempest_get_venv | changed - name: Get tempest plugins from git git: