summaryrefslogtreecommitdiffstats
path: root/ansible
diff options
context:
space:
mode:
authorMalanik Jan <janx.malanik@intel.com>2017-11-28 08:22:17 -0800
committerMalanik Jan <janx.malanik@intel.com>2017-12-14 07:54:31 -0800
commit057b1a79717c12eb283baeed94963cda2ff26df8 (patch)
tree353d21136ac59bd0c7fedba8488a5ccb76ef4f51 /ansible
parent93f53ca898891f5fd5fb5994c40932900aea1e73 (diff)
Bugfix:proxy env, ansible multinode support
JIRA: YARDSTICK-893 - hosts and plays in ansible/nsb_setup.yml refactored Fixed proxy configuration from env or /etc/environment in nsb_setup.sh Fixed ansible parameter 'environment: "{{ proxy_env }}"' in: - roles for components download. - roles for components dependencies install. Now, you can use ansible to modify all yardstick-standalone hosts at once. 1) Configure http[s]_proxy in - /etc/environment or - env variables 2) Modify ansible/yardstick-install-inventory.ini: [jumphost] localhost ansible_connection=local [yardstick-standalone] yardstick-standalone-node ansible_host=192.168.1.2 yardstick-standalone-node-2 ansible_host=192.168.1.3 [all:vars] ansible_user=root ansible_pass=root 3) start: ./nsb_setup.sh # for baremetal/sriov ./nsb_setup.sh <path to admin-openrc.sh> #for openstack heat Change-Id: I167db8bae8303210f21e8ae6f3870ef054bbedce Signed-off-by: Malanik Jan <janx.malanik@intel.com>
Diffstat (limited to 'ansible')
-rw-r--r--ansible/build_yardstick_image.yml5
-rw-r--r--ansible/nsb_setup.yml45
-rw-r--r--ansible/prepare_openstack.yml44
-rw-r--r--ansible/roles/create_image/tasks/main.yml23
-rw-r--r--ansible/roles/create_samplevnfs_image/tasks/main.yml24
-rw-r--r--ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml5
-rw-r--r--ansible/yardstick-install-inventory.ini18
7 files changed, 131 insertions, 33 deletions
diff --git a/ansible/build_yardstick_image.yml b/ansible/build_yardstick_image.yml
index bc57bcd48..45ef94e98 100644
--- a/ansible/build_yardstick_image.yml
+++ b/ansible/build_yardstick_image.yml
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
---
-- hosts: localhost
+- hosts: jumphost
vars:
boot_modes:
@@ -31,7 +31,8 @@
workspace: "{{ lookup('env', 'workspace')|default('/tmp/workspace/yardstick', true) }}"
raw_imgfile_basename: "yardstick-{{ release }}-server.raw"
environment:
- PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin
+ - PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin
+ - "{{ proxy_env }}"
tasks:
- group_by:
diff --git a/ansible/nsb_setup.yml b/ansible/nsb_setup.yml
index 90fba0b1e..bfe5d2349 100644
--- a/ansible/nsb_setup.yml
+++ b/ansible/nsb_setup.yml
@@ -12,37 +12,26 @@
# See the License for the specific language governing permissions and
# limitations under the License.
---
-- include: ubuntu_server_baremetal_deploy_samplevnfs.yml
- vars:
- YARD_IMG_ARCH: amd64
-
-- hosts: localhost
- roles:
- - install_dependencies
- - docker
-
-- include: build_yardstick_image.yml
- vars:
- YARD_IMG_ARCH: amd64
- release: xenial
- when: openrc_file is defined
+#- name: Prepare baremetal machine
+# include: ubuntu_server_baremetal_deploy_samplevnfs.yml
+# vars:
+# YARD_IMG_ARCH: amd64
+#
+#- name: Install jumphost dependencies and configure docker
+# hosts: jumphost
+# environment:
+# "{{ proxy_env }}"
+# roles:
+# - install_dependencies
+# - docker
-- include: clean_images.yml
+- name: "handle all openstack stuff when: openrc_file is defined"
+ include: prepare_openstack.yml
when: openrc_file is defined
-- hosts: localhost
- post_tasks:
- - os_image:
- name: yardstick-samplevnfs
- is_public: yes
- disk_format: qcow2
- container_format: bare
- filename: "{{ raw_imgfile }}"
- properties:
- hw_vif_multiqueue_enabled: true
- environment: "{{ openrc }}"
- when: openrc_file is defined
-
+- name: start yardstick container on jumphost
+ hosts: jumphost
+ tasks:
- name: Start yardstick container
docker_container:
name: yardstick
diff --git a/ansible/prepare_openstack.yml b/ansible/prepare_openstack.yml
new file mode 100644
index 000000000..8456c9e59
--- /dev/null
+++ b/ansible/prepare_openstack.yml
@@ -0,0 +1,44 @@
+# Copyright (c) 2017 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: convert openrc_file to openrc env dict
+ hosts: jumphost
+ vars_files:
+ - yardstick_config.yml
+ roles:
+ - convert_openrc
+
+###
+# Build yardstick image for openstack quest
+# check included file for other vars/env
+###
+- include: build_yardstick_image.yml
+ vars:
+ YARD_IMG_ARCH: amd64
+ release: xenial
+
+###
+# Delete old yardstick image and flavors
+# Upload new image
+###
+- name: cleanup old openstack images, upload new
+ hosts: jumphost
+ vars_files:
+ - yardstick_config.yml
+ environment:
+ "{{ openrc }}"
+ roles:
+ - clean_images
+ - clean_flavors
+ - create_samplevnfs_image
diff --git a/ansible/roles/create_image/tasks/main.yml b/ansible/roles/create_image/tasks/main.yml
new file mode 100644
index 000000000..f63489d2d
--- /dev/null
+++ b/ansible/roles/create_image/tasks/main.yml
@@ -0,0 +1,23 @@
+# Copyright (c) 2017 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: pre-clean openstack enviroment
+ hosts: yardstick
+ vars_files:
+ - yardstick_config.yml
+
+ roles:
+ - convert_openrc
+ - clean_images
+ - clean_flavors
diff --git a/ansible/roles/create_samplevnfs_image/tasks/main.yml b/ansible/roles/create_samplevnfs_image/tasks/main.yml
new file mode 100644
index 000000000..c83cccab5
--- /dev/null
+++ b/ansible/roles/create_samplevnfs_image/tasks/main.yml
@@ -0,0 +1,24 @@
+# Copyright (c) 2017 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: create yardstick-samplevnfs image
+ when: openrc_file is defined
+ os_image:
+ name: yardstick-samplevnfs
+ is_public: yes
+ disk_format: qcow2
+ container_format: bare
+ filename: "{{ raw_imgfile }}"
+ properties:
+ hw_vif_multiqueue_enabled: true
diff --git a/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml b/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml
index 42a7b2d08..479b45c92 100644
--- a/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml
+++ b/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml
@@ -12,10 +12,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
---
-- hosts: all
+- hosts: yardstick-standalone:jumphost
vars:
clone_dir: /tmp/yardstick-clone
-
+ environment:
+ "{{ proxy_env }}"
roles:
- add_custom_repos
diff --git a/ansible/yardstick-install-inventory.ini b/ansible/yardstick-install-inventory.ini
index e2647b033..e276076cc 100644
--- a/ansible/yardstick-install-inventory.ini
+++ b/ansible/yardstick-install-inventory.ini
@@ -1,4 +1,20 @@
# the group of systems on which to install yardstick
# by default just localhost
-[yardstick]
+[jumphost]
localhost ansible_connection=local
+
+# section below is only due backward compatibility.
+# it will be removed later
+[yardstick:children]
+jumphost
+
+[yardstick-standalone]
+# uncomment hosts below if you would to test yardstick-standalone/sriov scenarios
+#yardstick-standalone-node ansible_host=192.168.1.2
+#yardstick-standalone-node-2 ansible_host=192.168.1.2
+
+[all:vars]
+# incomment credentials below for yardstick-standalone
+#ansible_user=root
+#ansible_pass=root
+