diff options
author | Malanik Jan <janx.malanik@intel.com> | 2017-11-28 08:22:17 -0800 |
---|---|---|
committer | Malanik Jan <janx.malanik@intel.com> | 2017-12-14 07:54:31 -0800 |
commit | 057b1a79717c12eb283baeed94963cda2ff26df8 (patch) | |
tree | 353d21136ac59bd0c7fedba8488a5ccb76ef4f51 /ansible | |
parent | 93f53ca898891f5fd5fb5994c40932900aea1e73 (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.yml | 5 | ||||
-rw-r--r-- | ansible/nsb_setup.yml | 45 | ||||
-rw-r--r-- | ansible/prepare_openstack.yml | 44 | ||||
-rw-r--r-- | ansible/roles/create_image/tasks/main.yml | 23 | ||||
-rw-r--r-- | ansible/roles/create_samplevnfs_image/tasks/main.yml | 24 | ||||
-rw-r--r-- | ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml | 5 | ||||
-rw-r--r-- | ansible/yardstick-install-inventory.ini | 18 |
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 + |