diff options
author | Stepan Andrushko <stepanx.andrushko@intel.com> | 2019-02-11 21:10:54 +0200 |
---|---|---|
committer | Stepan Andrushko <stepanx.andrushko@intel.com> | 2019-03-19 18:43:50 +0200 |
commit | 91d4cfa839bb2633cba2f70443168c22f895a969 (patch) | |
tree | a416ea03d2dceba496e29437dc37dc7c80fbc80e /ansible/install.yaml | |
parent | 4c995d8a3ad25afe2ad8d75d43c7519ce22797eb (diff) |
Move VM image build to remote DUT
VM image is built on localhost but should be on remote DUT server.
VM image will be built on server added to group 'yardstick-standalone'.
NSB dependencies will be installed on servers added to groups
'yardstick-baremetal' and 'yardstick-standalone'.
Added extra package installation, copy VM image to libvirt folder.
JIRA: YARDSTICK-1597
Change-Id: Iac4444c6f332c5ea80da033f2fe8371e208d7fbc
Signed-off-by: Stepan Andrushko <stepanx.andrushko@intel.com>
Diffstat (limited to 'ansible/install.yaml')
-rw-r--r-- | ansible/install.yaml | 79 |
1 files changed, 41 insertions, 38 deletions
diff --git a/ansible/install.yaml b/ansible/install.yaml index 558c48609..a78a11f68 100644 --- a/ansible/install.yaml +++ b/ansible/install.yaml @@ -15,7 +15,6 @@ - hosts: jumphost become: yes vars: - yardstick_dir: "{{ YARDSTICK_DIR | default('/home/opnfv/repos/yardstick') }}" virtual_environment: "{{ VIRTUAL_ENVIRONMENT | default(False) }}" nsb_dir: "{{ NSB_DIR | default('/opt/nsb_bin/') }}" @@ -105,54 +104,59 @@ - docker - barometer_collectd - - name: Prepare to build VM - hosts: jumphost + hosts: yardstick-standalone become: yes vars: img_prop_item: "{{ IMG_PROPERTY }}" img_arch: "{{ YARD_IMG_ARCH }}" - - tasks: - - name: Include pre-build - include_role: - name: build_yardstick_image - tasks_from: pre_build.yml - when: - - installation_mode != inst_mode_container - - IMG_PROPERTY == 'nsb' or IMG_PROPERTY == 'normal' - - -- name: Build VM in chroot - hosts: chroot_image - connection: chroot - become: yes - vars: - img_property: "{{ IMG_PROPERTY }}" environment: "{{ proxy_env }}" tasks: - - name: Include image build - include_role: - name: build_yardstick_image - tasks_from: "cloudimg_modify_{{ img_property }}.yml" + - file: + dest: /tmp/ansible + state: directory + mode: 0755 + + - name: Copy ansible folder to remote DUT + copy: + src: "." + dest: /tmp/ansible + + - name: Install DUT related packages + apt: + name: "{{ packages }}" + vars: + packages: + - qemu-kvm + - libvirt-bin + - bridge-utils + - fping + - genisoimage + + # 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: - - installation_mode != inst_mode_container - - IMG_PROPERTY == 'nsb' or IMG_PROPERTY == 'normal' + - 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: Clear up after VM is built - hosts: jumphost - become: yes + - name: Update pip ansible docker + pip: + name: "ansible==2.5.5" - tasks: - - name: Include post-build - include_role: - name: build_yardstick_image - tasks_from: post_build.yml - when: - - installation_mode != inst_mode_container - - IMG_PROPERTY == 'nsb' or IMG_PROPERTY == 'normal' + # This is used as workaround as ansible doesn't support chroot on remote server + - name: Run ansible on remote + shell: "ansible-playbook -e OS_RELEASE={{ OS_RELEASE }} -e IMAGE_PROPERTY={{ IMAGE_PROPERTY }} -e YARD_IMAGE_ARCH={{ YARD_IMAGE_ARCH }} -i install-inventory.ini build_vm.yml -vv" + args: + chdir: "/tmp/ansible" - name: Add OpenStack variables, image @@ -216,6 +220,5 @@ volumes: - "{{ openrc_file|default('/dev/null') }}:/etc/yardstick/openstack.creds:ro" - /var/run/docker.sock:/var/run/docker.sock - - /opt:/opt - /etc/localtime:/etc/localtime:ro when: installation_mode == inst_mode_container_pull |