From e8d601add10b319716752f105ceeb87ee6d7db4b Mon Sep 17 00:00:00 2001 From: Stepan Andrushko Date: Tue, 21 Aug 2018 14:04:59 +0300 Subject: Add container pull option to install.yaml Supported Yardstick installation modes in yardstick.yaml: baremetal and container. First is used to install Yardstick on baremetal, another is used during docker build to install Yardstick in container. Added third option: 'container pull': to pull docker image (opnfv/yardstick) from Docker hub and start container. JIRA: YARDSTICK-1392 Change-Id: I4158de3eb6fcbe0018a15fdda89a3e3ab29c26bb Signed-off-by: Stepan Andrushko --- ansible/group_vars/all.yml | 1 + ansible/install-inventory.ini | 3 ++- ansible/install.yaml | 59 ++++++++++++++++++++++++++++++++++--------- 3 files changed, 50 insertions(+), 13 deletions(-) (limited to 'ansible') diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 9f5293272..596560508 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -7,6 +7,7 @@ release: xenial normal_image_file: "{{ workspace }}/yardstick-image.img" nsb_image_file: "{{ workspace }}/yardstick-nsb-image.img" ubuntu_image_file: /tmp/workspace/yardstick/yardstick-trusty-server.raw +installation_mode: "{{ INSTALLATION_MODE | default('baremetal') }}" proxy_env: PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin http_proxy: "{{ lookup('env', 'http_proxy') }}" diff --git a/ansible/install-inventory.ini b/ansible/install-inventory.ini index e15a2e96a..4e8629428 100644 --- a/ansible/install-inventory.ini +++ b/ansible/install-inventory.ini @@ -17,8 +17,9 @@ jumphost [all:vars] arch_amd64=amd64 arch_arm64=arm64 -inst_mode_container=container 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/"} # Uncomment credentials below if needed # ansible_user=root diff --git a/ansible/install.yaml b/ansible/install.yaml index fa8419b53..0800ee534 100644 --- a/ansible/install.yaml +++ b/ansible/install.yaml @@ -15,7 +15,6 @@ - hosts: jumphost become: yes vars: - installation_mode: "{{ INSTALLATION_MODE | default('baremetal') }}" yardstick_dir: "{{ YARDSTICK_DIR | default('/home/opnfv/repos/yardstick') }}" virtual_environment: "{{ VIRTUAL_ENVIRONMENT | default(False) }}" nsb_dir: "{{ NSB_DIR | default('/opt/nsb_bin/') }}" @@ -28,27 +27,30 @@ state: directory owner: root mode: 0777 + when: + - installation_mode != inst_mode_container_pull roles: - - add_repos_jumphost - - install_dependencies_jumphost - - install_yardstick - - configure_uwsgi - - configure_nginx - - configure_gui - - download_trex - - install_trex - - configure_rabbitmq + - { role: add_repos_jumphost, when: installation_mode != inst_mode_container_pull } + - { role: install_dependencies_jumphost, when: installation_mode != inst_mode_container_pull } + - { 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 } + - { role: configure_gui, when: installation_mode != inst_mode_container_pull } + - { role: download_trex, when: installation_mode != inst_mode_container_pull } + - { role: install_trex, when: installation_mode != inst_mode_container_pull } + - { role: configure_rabbitmq, when: installation_mode != inst_mode_container_pull } + post_tasks: - service: name: nginx state: restarted - when: installation_mode != inst_mode_container + when: installation_mode == inst_mode_baremetal - shell: uwsgi -i /etc/yardstick/yardstick.ini - when: installation_mode != inst_mode_container + when: installation_mode == inst_mode_baremetal - name: Prepare baremetal and standalone servers @@ -106,6 +108,7 @@ include_role: name: build_yardstick_image tasks_from: pre_build.yml + when: installation_mode != inst_mode_container - hosts: chroot_image @@ -120,6 +123,7 @@ include_role: name: build_yardstick_image tasks_from: "cloudimg_modify_{{ img_property }}.yml" + when: installation_mode != inst_mode_container - hosts: jumphost @@ -130,3 +134,34 @@ include_role: name: build_yardstick_image tasks_from: post_build.yml + when: installation_mode != inst_mode_container + + +- name: start yardstick container on jumphost + 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 + + - name: Start yardstick container + docker_container: + name: yardstick + pull: yes + recreate: yes + image: "{{ yardstick_docker_image|default('opnfv/yardstick:latest') }}" + state: started + restart_policy: always + privileged: yes + interactive: yes + 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 -- cgit 1.2.3-korg