summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStepan Andrushko <stepanx.andrushko@intel.com>2018-05-15 12:46:42 +0300
committerEmma Foley <emma.l.foley@intel.com>2018-06-14 13:46:05 +0000
commit86be172a9427a4ecee5666e9660ce37c006abe1b (patch)
tree3bbecc00eb429852b921645faa3ae1f9627c0ce9
parent35e4659cd170cde59512ad72441f9573954da5b6 (diff)
Install dependencies: bare-metal, standalone
This will install all dependencies needed on the bare-metal and standalone physical nodes. JIRA: YARDSTICK-1177 Change-Id: I719ca64d4da098d6dd60597e5fc4ad6f4715f79e Signed-off-by: Stepan Andrushko <stepanx.andrushko@intel.com> Signed-off-by: Emma Foley <emma.l.foley@intel.com>
-rw-r--r--ansible/install-inventory.ini30
-rw-r--r--ansible/install.yaml73
-rw-r--r--ansible/roles/configure_nginx/tasks/main.yml2
-rw-r--r--ansible/roles/install_yardstick/tasks/regular_install.yml3
-rw-r--r--ansible/yardstick-install-inventory.ini20
5 files changed, 97 insertions, 31 deletions
diff --git a/ansible/install-inventory.ini b/ansible/install-inventory.ini
new file mode 100644
index 000000000..6aa9905bd
--- /dev/null
+++ b/ansible/install-inventory.ini
@@ -0,0 +1,30 @@
+# the group of systems on which to install yardstick
+# by default just localhost
+[jumphost]
+#yardstickvm1 ansible_user=ubuntu ansible_ssh_pass=password ansible_connection=local
+localhost ansible_connection=local
+
+# section below is only due backward compatibility.
+# it will be removed later
+[yardstick:children]
+jumphost
+
+[yardstick-standalone]
+#yardstickvm2 ansible_host=192.168.2.51 ansible_user=ubuntu ansible_ssh_pass=password ansible_connection=ssh
+# 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.3
+
+[yardstick-baremetal]
+#yardstickvm3 ansible_host=192.168.2.52 ansible_user=ubuntu ansible_ssh_pass=password ansible_connection=ssh
+# hostname ansible_host=192.168.1.2
+
+[all:vars]
+arch_amd64=amd64
+arch_arm64=arm64
+inst_mode_container=container
+inst_mode_baremetal=baremetal
+ubuntu_archive={"amd64": "http://archive.ubuntu.com/ubuntu/", "arm64": "http://ports.ubuntu.com/ubuntu-ports/"}
+# uncomment credentials below for yardstick-standalone
+#ansible_user=root
+#ansible_pass=root
diff --git a/ansible/install.yaml b/ansible/install.yaml
index c446b91f7..d1745798c 100644
--- a/ansible/install.yaml
+++ b/ansible/install.yaml
@@ -1,14 +1,20 @@
+# Copyright (c) 2018 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.
---
-- hosts: localhost
-
+- hosts: jumphost
+ become: yes
vars:
- arch_amd64: "amd64"
- arch_arm64: "arm64"
- inst_mode_container: "container"
- inst_mode_baremetal: "baremetal"
- ubuntu_archive:
- amd64: "http://archive.ubuntu.com/ubuntu/"
- arm64: "http://ports.ubuntu.com/ubuntu-ports/"
installation_mode: "{{ INSTALLATION_MODE | default('baremetal') }}"
yardstick_dir: "{{ YARDSTICK_DIR | default('/home/opnfv/repos/yardstick') }}"
virtual_environment: "{{ VIRTUAL_ENVIRONMENT | default(False) }}"
@@ -42,3 +48,52 @@
- shell: uwsgi -i /etc/yardstick/yardstick.ini
when: installation_mode != inst_mode_container
+
+- name: Prepare baremetal and standalone server(s)
+ hosts: yardstick-baremetal,yardstick-standalone
+ become: yes
+ vars:
+ YARD_IMG_ARCH: "{{ arch_amd64 }}"
+ environment:
+ proxy_env:
+ http_proxy: "{{ lookup('env', 'http_proxy') }}"
+ https_proxy: "{{ lookup('env', 'https_proxy') }}"
+ ftp_proxy: "{{ lookup('env', 'ftp_proxy') }}"
+ no_proxy: "{{ lookup('env', 'no_proxy') }}"
+
+ roles:
+ - add_custom_repos
+ - role: set_package_installer_proxy
+ when: proxy_env is defined and proxy_env
+ # can't update grub in chroot/docker
+ - enable_hugepages_on_boot
+ # needed for collectd plugins
+ - increase_open_file_limits
+ - install_image_dependencies
+ - role: download_dpdk
+ # dpdk_version: "17.02"
+ - install_dpdk
+ - download_trex
+ - install_trex
+ - download_civetweb
+ - install_civetweb
+ - download_samplevnfs
+ - role: install_samplevnf
+ vnf_name: PROX
+ - role: install_samplevnf
+ vnf_name: UDP_Replay
+ - role: install_samplevnf
+ vnf_name: ACL
+ - role: install_samplevnf
+ vnf_name: FW
+ - role: install_samplevnf
+ vnf_name: CGNATP
+ # build shared DPDK for collectd only, required DPDK downloaded already
+ - install_dpdk_shared
+ - install_rabbitmq
+ - download_intel_cmt_cat
+ - install_intel_cmt_cat
+ - download_pmu_tools
+ - install_pmu_tools
+ - download_collectd
+ - install_collectd
diff --git a/ansible/roles/configure_nginx/tasks/main.yml b/ansible/roles/configure_nginx/tasks/main.yml
index 37b052725..e0f7f75bb 100644
--- a/ansible/roles/configure_nginx/tasks/main.yml
+++ b/ansible/roles/configure_nginx/tasks/main.yml
@@ -30,4 +30,4 @@
shell: |
semanage port -m -t http_port_t -p tcp 5000
semanage port -m -t http_port_t -p udp 5000
- when: ansible_os_family == "RedHat" \ No newline at end of file
+ when: ansible_os_family == "RedHat"
diff --git a/ansible/roles/install_yardstick/tasks/regular_install.yml b/ansible/roles/install_yardstick/tasks/regular_install.yml
index 4a9925ab4..cd0e86fb9 100644
--- a/ansible/roles/install_yardstick/tasks/regular_install.yml
+++ b/ansible/roles/install_yardstick/tasks/regular_install.yml
@@ -18,5 +18,6 @@
- name: Install Yardstick code
pip:
- name: "{{ yardstick_dir }}/."
+ name: "."
extra_args: -e
+ chdir: "{{ yardstick_dir }}/"
diff --git a/ansible/yardstick-install-inventory.ini b/ansible/yardstick-install-inventory.ini
deleted file mode 100644
index e276076cc..000000000
--- a/ansible/yardstick-install-inventory.ini
+++ /dev/null
@@ -1,20 +0,0 @@
-# the group of systems on which to install yardstick
-# by default just localhost
-[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
-