Fix pip install issues in install.yaml script 57/58857/1
authorRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Thu, 21 Jun 2018 11:42:55 +0000 (12:42 +0100)
committerRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Thu, 21 Jun 2018 11:43:35 +0000 (12:43 +0100)
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>
ansible/roles/install_yardstick/tasks/main.yml
ansible/roles/install_yardstick/tasks/regular_install.yml [deleted file]
ansible/roles/install_yardstick/tasks/virtual_install.yml [deleted file]

index ee1b837..973b2b0 100644 (file)
 #    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 (file)
index cd0e86f..0000000
+++ /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 (file)
index 8545acb..0000000
+++ /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"
-