Install dependencies: bare-metal, standalone 21/58921/3
authorStepan Andrushko <stepanx.andrushko@intel.com>
Tue, 15 May 2018 09:46:42 +0000 (12:46 +0300)
committerEmma Foley <emma.l.foley@intel.com>
Tue, 26 Jun 2018 14:40:26 +0000 (14:40 +0000)
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>
(cherry picked from commit 86be172a9427a4ecee5666e9660ce37c006abe1b)

ansible/install-inventory.ini [new file with mode: 0644]
ansible/install.yaml
ansible/roles/configure_nginx/tasks/main.yml
ansible/roles/install_yardstick/tasks/regular_install.yml
ansible/yardstick-install-inventory.ini [deleted file]

diff --git a/ansible/install-inventory.ini b/ansible/install-inventory.ini
new file mode 100644 (file)
index 0000000..6aa9905
--- /dev/null
@@ -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
index c446b91..d174579 100644 (file)
@@ -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) }}"
 
     - 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
index 37b0527..e0f7f75 100644 (file)
@@ -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"
index 4a9925a..cd0e86f 100644 (file)
@@ -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 (file)
index e276076..0000000
+++ /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
-