aboutsummaryrefslogtreecommitdiffstats
path: root/ansible
diff options
context:
space:
mode:
authorStepan Andrushko <stepanx.andrushko@intel.com>2018-08-21 14:04:59 +0300
committerStepan Andrushko <stepanx.andrushko@intel.com>2018-08-31 13:25:23 +0300
commite8d601add10b319716752f105ceeb87ee6d7db4b (patch)
treef838b36df0bc7b6009d236093348db7915f53fba /ansible
parenta8706c3b18f7f70798a0b20b1ec15ad496626784 (diff)
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 <stepanx.andrushko@intel.com>
Diffstat (limited to 'ansible')
-rw-r--r--ansible/group_vars/all.yml1
-rw-r--r--ansible/install-inventory.ini3
-rw-r--r--ansible/install.yaml59
3 files changed, 50 insertions, 13 deletions
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