---\r
 target_os: "Ubuntu"\r
 YARD_IMG_ARCH: "amd64"\r
-IMG_PROPERTY: "normal"\r
+IMG_PROPERTY: "{{ IMAGE_PROPERTY | default('normal') }}"\r
 clone_dest: /opt/tempT\r
-release: xenial\r
+release: "{{ OS_RELEASE  | default('xenial') }}"\r
 normal_image_file: "{{ workspace }}/yardstick-image.img"\r
 nsb_image_file: "{{ workspace }}/yardstick-nsb-image.img"\r
 ubuntu_image_file: /tmp/workspace/yardstick/yardstick-trusty-server.raw\r
 
 
   pre_tasks:
 
-    - name: Create NSB binaries directory, accesible to any user
+    - name: Create NSB binaries directory, accessible to any user
       file:
         path: "{{ nsb_dir }}"
         state: directory
         - installation_mode != inst_mode_container_pull
 
   roles:
-    - { role: add_repos_jumphost, when: installation_mode != inst_mode_container_pull }
-    - { role: install_dependencies_jumphost, when: installation_mode != inst_mode_container_pull }
+    - add_repos_jumphost
+    - install_dependencies_jumphost
     - { role: install_yardstick, when: installation_mode != inst_mode_container_pull }
     - { role: configure_uwsgi, when: installation_mode != inst_mode_container_pull }
     - { role: configure_nginx, when: installation_mode != inst_mode_container_pull }
   hosts: jumphost
 
   tasks:
-    - include_role:
-        name: install_dependencies_jumphost
-      when: installation_mode == inst_mode_container_pull
-
     - include_role:
         name: docker
       when: installation_mode == inst_mode_container_pull
 
   include: build_yardstick_image.yml
   vars:
     YARD_IMG_ARCH: amd64
-    release: xenial
     img_property: nsb
 
 - name: Cleanup old OpenStack images and upload the new one
 
   'amd64': disk1\r
   'arm64': uefi1\r
 boot_mode: "{{ boot_modes[YARD_IMG_ARCH] }}"\r
-image_filename: "{{ release }}-server-cloudimg-{{ YARD_IMG_ARCH }}-{{ boot_mode }}.img"\r
-image_path: "{{ release }}/current/{{ image_filename }}"\r
+image_filename:\r
+  'xenial': "{{ release }}-server-cloudimg-{{ YARD_IMG_ARCH }}-{{ boot_mode }}.img"\r
+  'bionic': "{{ release }}-server-cloudimg-{{ YARD_IMG_ARCH }}.img"\r
+image_path: "{{ release }}/current/{{ image_filename[release] }}"\r
 host: "{{ lookup('env', 'HOST')|default('cloud-images.ubuntu.com', true)}}"\r
 image_url: "{{ lookup('env', 'IMAGE_URL')|default('https://' ~ host ~ '/' ~ image_path, true) }}"\r
-image_dest: "{{ workspace }}/{{ image_filename }}"\r
+image_dest: "{{ workspace }}/{{ image_filename[release] }}"\r
 sha256sums_path: "{{ release }}/current/SHA256SUMS"\r
 sha256sums_filename: "{{ sha256sums_path|basename }}"\r
 sha256sums_url: "{{ lookup('env', 'SHA256SUMS_URL')|default('https://' ~ host ~ '/' ~ sha256sums_path, true) }}"\r
 
     state: directory
     recurse: yes
 
+- name: Remove /etc/nginx/yardstick/gui/dist directory if it exists
+  file:
+    path: /etc/nginx/yardstick/gui/dist
+    state: absent
+
 - name: Move dist to /etc/nginx/yardstick/gui
   shell:
     cmd: mv dist /etc/nginx/yardstick/gui
 
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
-i40evf_version: "3.4.2"
+i40evf_version: "3.5.13"
 i40evf_gzfile: "i40evf-{{ i40evf_version }}.tar.gz"
 i40evf_url: "https://netix.dl.sourceforge.net/project/e1000/i40evf%20stable/{{ i40evf_version }}/{{ i40evf_gzfile }}"
 i40evf_dest: "{{ clone_dest }}/"
 i40evf_path: "{{ i40evf_dest }}/{{ i40evf_gzfile|regex_replace('[.]tar[.]gz$', '') }}"
 i40evf_checksum:
   "3.4.2": "sha256:a8e2a722fb2f8ac874cb39545a331761841f1724830ff1581d2012dd37314645"
+  "3.5.13": "sha256:e57b95b694c8480b905e72ea13caac8714d6bb0c9eabe37cca655505b808f033"
\ No newline at end of file
 
     - libxft-dev
     - libxml2-dev
     - libxss-dev
-    - libxslt-dev
     - libxslt1-dev
-    - libzmq-dev
+    - libzmq3-dev
     - qemu-user-static
     - qemu-utils
     - kpartx
     - python
     - python-setuptools
     - python-dev
-    - python-pip
     - python-libvirt
     - python-virtualenv
     - bridge-utils
 - name: Remove useless packages from the cache
   apt:
     autoclean: yes
+
+# There is a bug with the easy install ansible module in Ubuntu 16.04 linux.
+# Refer https://github.com/ansible/ansible/issues/23534
+- name: Install pip
+  shell: easy_install -U pip
+  when:
+    - ansible_distribution == 'Ubuntu'
+    - ansible_distribution_major_version|int <= 16
+
+- name: Install python-pip
+  action: "{{ ansible_pkg_mgr }} name=python-pip state=present"
+  when:
+    - ansible_distribution == 'Ubuntu'
+    - ansible_distribution_major_version|int >= 17
+
+- name: Install required docker-py module
+  pip:
+    name: docker-py
+    state: latest
+  environment: "{{ proxy_env }}"
 
     - openssl
     - python-virtualenv
     - ccze
+    - python-pip
 
     - openssl
     - python-virtualenv
     - ccze
+
+# There is a bug with the easy install ansible module in suse linux.
+# Until this is fixed the shell command must be used
+# Refer https://github.com/ansible/ansible/issues/37296
+- name: Install pip
+  shell: easy_install -U pip
 
     scope: global
     value: False
 
-# There is a bug with the easy install ansible module in suse linux.
-# Until this is fixed the shell command must be used
-- name: Install pip
-  shell: easy_install -U pip
-#    easy_install:
-#    name: pip
-#    state: latest
-
 - name: Install Yardstick requirements (venv)
   pip:
     requirements: "{{ yardstick_dir }}/requirements.txt"