aboutsummaryrefslogtreecommitdiffstats
path: root/ansible
diff options
context:
space:
mode:
authorRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>2018-06-21 12:42:55 +0100
committerRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>2018-06-21 12:43:35 +0100
commit6cc6b8a477fc3f7a32a11af4f6a6dc76b5fac83f (patch)
tree9471eb357c7390b4f028182dc3ea6038a47ca83a /ansible
parent0c53e91c61c358ae43371aba92eccd1dde5829e6 (diff)
Fix pip install issues in install.yaml script
For long executing commands, ansible should use async jobs. For example, when installing the project requirements. There is a problem in ansible pip module when using a "editable installs". This command should be called with "editable" flag. JIRA: YARDSTICK-1250 Change-Id: I6d29bab2f388373e252d065ff5aa0c459a8f265a Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Diffstat (limited to 'ansible')
-rw-r--r--ansible/roles/install_yardstick/tasks/main.yml37
-rw-r--r--ansible/roles/install_yardstick/tasks/regular_install.yml23
-rw-r--r--ansible/roles/install_yardstick/tasks/virtual_install.yml25
3 files changed, 33 insertions, 52 deletions
diff --git a/ansible/roles/install_yardstick/tasks/main.yml b/ansible/roles/install_yardstick/tasks/main.yml
index ee1b83756..973b2b027 100644
--- a/ansible/roles/install_yardstick/tasks/main.yml
+++ b/ansible/roles/install_yardstick/tasks/main.yml
@@ -37,10 +37,39 @@
# name: pip
# state: latest
-- name: install yardstick without virtual environment
- include_tasks: regular_install.yml
+- name: Install Yardstick requirements (venv)
+ pip:
+ requirements: "{{ yardstick_dir }}/requirements.txt"
+ virtualenv: "{{ yardstick_dir }}/virtualenv"
+ async: 300
+ poll: 0
+ register: pip_installer
+ when: virtual_environment == True
+
+- name: Install Yardstick requirements
+ pip:
+ requirements: "{{ yardstick_dir }}/requirements.txt"
+ async: 300
+ poll: 0
+ register: pip_installer
when: virtual_environment == False
-- name: install yardstick with virtual environment
- include_tasks: virtual_install.yml
+- name: Check install Yardstick requirements
+ async_status:
+ jid: "{{ pip_installer.ansible_job_id }}"
+ register: job_result
+ until: job_result.finished
+ retries: 100
+
+- name: Install Yardstick code (venv)
+ pip:
+ name: "{{ yardstick_dir }}/"
+ editable: True
+ virtualenv: "{{ yardstick_dir }}/virtualenv"
when: virtual_environment == True
+
+- name: Install Yardstick code
+ pip:
+ name: "{{ yardstick_dir }}/"
+ editable: True
+ when: virtual_environment == False
diff --git a/ansible/roles/install_yardstick/tasks/regular_install.yml b/ansible/roles/install_yardstick/tasks/regular_install.yml
deleted file mode 100644
index cd0e86fb9..000000000
--- a/ansible/roles/install_yardstick/tasks/regular_install.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2018 Intel Corporation.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
----
-- name: Install Yardstick requirements
- pip:
- requirements: "{{ yardstick_dir }}/requirements.txt"
-
-- name: Install Yardstick code
- pip:
- name: "."
- extra_args: -e
- chdir: "{{ yardstick_dir }}/"
diff --git a/ansible/roles/install_yardstick/tasks/virtual_install.yml b/ansible/roles/install_yardstick/tasks/virtual_install.yml
deleted file mode 100644
index 8545acbcb..000000000
--- a/ansible/roles/install_yardstick/tasks/virtual_install.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2018 Intel Corporation.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
----
-- name: Install Yardstick requirements
- pip:
- requirements: "{{ yardstick_dir }}/requirements.txt"
- virtualenv: "{{ yardstick_dir }}/virtualenv"
-
-- name: Install Yardstick code
- pip:
- name: "{{ yardstick_dir }}/."
- extra_args: -e
- virtualenv: "{{ yardstick_dir }}/virtualenv"
-