From 62a5d6bfc8480dfd0bfa2d6937f31125ba443e56 Mon Sep 17 00:00:00 2001 From: Stepan Andrushko Date: Mon, 31 Dec 2018 12:54:40 +0200 Subject: Replace script to install.yaml in nsb_setup.sh Replace 'nsb_setup.yml' with 'install.yaml' in 'nsb_setup.sh'. Ansible script 'install.yaml' supports installations on Ubuntu 16/18 of Yardstick, packages dependencies and VM images. Add possibility to provide and add to OpenStack non-NSB VM image. JIRA: YARDSTICK-1577 Change-Id: I0cf7cbb354a5f389da432b05cb6f0b470fb5d8f1 Signed-off-by: Stepan Andrushko --- ansible/group_vars/all.yml | 2 +- ansible/install-inventory.ini | 2 ++ ansible/install.yaml | 54 +++++++++++++++++++++++++++++++------------ nsb_setup.sh | 10 ++++---- 4 files changed, 48 insertions(+), 20 deletions(-) diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 0e8ad5bc5..cd12bf02e 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -1,6 +1,6 @@ --- target_os: "Ubuntu" -YARD_IMG_ARCH: "amd64" +YARD_IMG_ARCH: "{{ YARD_IMAGE_ARCH | default('amd64') }}" IMG_PROPERTY: "{{ IMAGE_PROPERTY | default('normal') }}" clone_dest: /opt/tempT release: "{{ OS_RELEASE | default('xenial') }}" diff --git a/ansible/install-inventory.ini b/ansible/install-inventory.ini index 4e8629428..d0a8ef927 100644 --- a/ansible/install-inventory.ini +++ b/ansible/install-inventory.ini @@ -21,6 +21,8 @@ inst_mode_baremetal=baremetal inst_mode_container=container inst_mode_container_pull=container_pull ubuntu_archive={"amd64": "http://archive.ubuntu.com/ubuntu/", "arm64": "http://ports.ubuntu.com/ubuntu-ports/"} +# When IMG_PROPERTY is passed neither normal nor nsb set "path_to_vm=/path/to/image" to add it to OpenStack +# path_to_img=/tmp/workspace/yardstick-image.img # Uncomment credentials below if needed # ansible_user=root # ansible_pass=root diff --git a/ansible/install.yaml b/ansible/install.yaml index d181c5ffd..6146c7f19 100644 --- a/ansible/install.yaml +++ b/ansible/install.yaml @@ -116,7 +116,9 @@ include_role: name: build_yardstick_image tasks_from: pre_build.yml - when: installation_mode != inst_mode_container + when: + - installation_mode != inst_mode_container + - IMG_PROPERTY == 'nsb' or IMG_PROPERTY == 'normal' - name: Build VM in chroot @@ -132,7 +134,9 @@ include_role: name: build_yardstick_image tasks_from: "cloudimg_modify_{{ img_property }}.yml" - when: installation_mode != inst_mode_container + when: + - installation_mode != inst_mode_container + - IMG_PROPERTY == 'nsb' or IMG_PROPERTY == 'normal' - name: Clear up after VM is built @@ -144,28 +148,48 @@ include_role: name: build_yardstick_image tasks_from: post_build.yml - when: installation_mode != inst_mode_container + when: + - installation_mode != inst_mode_container + - IMG_PROPERTY == 'nsb' or IMG_PROPERTY == 'normal' -- hosts: jumphost +- name: Add OpenStack variables, image + hosts: jumphost + vars: + openrc_flag: false vars_files: - yardstick_config.yml - roles: - - { role: convert_openrc, when: openrc_file is defined } + pre_tasks: + - name: Get information about external VM image + stat: + path: "{{ path_to_img }}" + register: image_file_stat + when: + - path_to_img is defined + - imgfile is not defined + - set_fact: + imgfile: "{{ path_to_img }}" + when: + - path_to_img is defined + - imgfile is not defined + - image_file_stat.stat.islnk is defined + - not image_file_stat.stat.islnk -- name: Add OpenStack variables, image - hosts: jumphost - vars_files: - - yardstick_config.yml - environment: - "{{ openrc }}" + - set_fact: + openrc_flag: true + when: + - openrc_file is defined + - imgfile is defined roles: - - { role: clean_images, when: openrc_file is defined } - - { role: clean_flavors, when: openrc_file is defined } - - { role: create_samplevnfs_image, when: openrc_file is defined } + - { role: convert_openrc, when: openrc_file is defined } + - { role: clean_images, when: openrc_flag } + - { role: clean_flavors, when: openrc_flag } + - { role: create_samplevnfs_image, when: openrc_flag } + environment: + "{{ openrc | default({}) }}" - name: Start yardstick container on jumphost diff --git a/nsb_setup.sh b/nsb_setup.sh index 335db8dd2..2e244cf00 100755 --- a/nsb_setup.sh +++ b/nsb_setup.sh @@ -131,9 +131,11 @@ pip install ansible==2.5.5 shade==1.22.2 docker-py==1.10.6 ANSIBLE_SCRIPTS="ansible" -cd ${ANSIBLE_SCRIPTS} &&\ +cd ${ANSIBLE_SCRIPTS} && \ ansible-playbook \ - -e img_property="nsb" \ - -e YARD_IMG_ARCH='amd64' ${extra_args}\ - -i install-inventory.ini nsb_setup.yml + -e IMAGE_PROPERTY='nsb' \ + -e OS_RELEASE='xenial' \ + -e INSTALLATION_MODE='container_pull' \ + -e YARD_IMAGE_ARCH='amd64' ${extra_args} \ + -i install-inventory.ini install.yaml -- cgit 1.2.3-korg