From 035df34e6486ed249fa5f0b9085b8fe8c11fe184 Mon Sep 17 00:00:00 2001 From: John O Loughlin Date: Fri, 16 Feb 2018 15:29:58 +0000 Subject: Migrate install.sh script to ansible Ansible scripts to install yardstick. These scripts will take a few options: INSTALLATION_MODE : Container or Baremetal YARDSTICK_DIR: Location of Yardstick directory VIRTUAL_ENVIRONMENT: Should a virtual environment be used NSB_DIR: Location of NSB directory JIRA: YARDSTICK-1126 Change-Id: I4a13e07e96650ffd971dfb18472f2563cfd51aa9 Signed-off-by: John O Loughlin (cherry picked from commit 0b976dd02421a181674acc837127ac741ccfccea) --- .../install_dependencies_jumphost/tasks/Debian.yml | 76 ++++++++++++++++++++++ .../install_dependencies_jumphost/tasks/RedHat.yml | 54 +++++++++++++++ .../install_dependencies_jumphost/tasks/Suse.yml | 49 ++++++++++++++ .../install_dependencies_jumphost/tasks/main.yml | 15 +++++ 4 files changed, 194 insertions(+) create mode 100755 ansible/roles/install_dependencies_jumphost/tasks/Debian.yml create mode 100644 ansible/roles/install_dependencies_jumphost/tasks/RedHat.yml create mode 100644 ansible/roles/install_dependencies_jumphost/tasks/Suse.yml create mode 100644 ansible/roles/install_dependencies_jumphost/tasks/main.yml (limited to 'ansible/roles/install_dependencies_jumphost/tasks') diff --git a/ansible/roles/install_dependencies_jumphost/tasks/Debian.yml b/ansible/roles/install_dependencies_jumphost/tasks/Debian.yml new file mode 100755 index 000000000..9baf7e59e --- /dev/null +++ b/ansible/roles/install_dependencies_jumphost/tasks/Debian.yml @@ -0,0 +1,76 @@ +# 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: Update repositories + apt: + update_cache: yes + +- name: Install core packages + action: "{{ ansible_pkg_mgr }} name={{ item }} state=present" + with_items: + - wget + - curl + - screen + - procps + - socat + - sshpass + - sudo + - vim + - libffi-dev + - libfuse-dev + - libssl-dev + - libxft-dev + - libxml2-dev + - libxss-dev + - libxslt-dev + - libxslt1-dev + - libzmq-dev + - qemu-user-static + - qemu-utils + - kpartx + - python + - python-setuptools + - python-dev + - python-pip + - python-libvirt + - python-virtualenv + - bridge-utils + - ebtables + - openssl + - ccze + - nginx-full + - uwsgi + - uwsgi-plugin-python + - supervisor + - lsof + - nodejs + - npm + - rabbitmq-server + +- name: Install libc6:arm64 package + action: "{{ ansible_pkg_mgr }} name={{ item }} state=present" + with_items: + - libc6:arm64 + when: + - arch is defined + - arch != arch_arm64 + - installation_mode == inst_mode_container + +- name: Remove dependencies that are no longer required + apt: + update_cache: yes + +- name: Remove useless packages from the cache + apt: + autoclean: yes diff --git a/ansible/roles/install_dependencies_jumphost/tasks/RedHat.yml b/ansible/roles/install_dependencies_jumphost/tasks/RedHat.yml new file mode 100644 index 000000000..85eb1156a --- /dev/null +++ b/ansible/roles/install_dependencies_jumphost/tasks/RedHat.yml @@ -0,0 +1,54 @@ +# 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: Install EPEL if needed + action: "{{ ansible_pkg_mgr }} name=epel-release state=present" + when: ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux'] + +- name: Install core packages + action: "{{ ansible_pkg_mgr }} name={{ item }} state=present" + with_items: + - deltarpm + - wget + - expect + - curl + # require python2 version of libselinux-python so ansible can operate in selinux enviroment + - libselinux-python + - screen + - git + - socat + - sshpass + - qemu-kvm + - qemu-img + - kpartx + - libxslt-devel + - libffi-devel + - openssl-devel + - nginx + - uwsgi + - uwsgi-plugin-python + - supervisor + - python-setuptools + - libffi-devel + - python-devel + - nodejs + - npm + - gcc + - lsof + - procps + - bridge-utils + - ebtables + - openssl + - python-virtualenv + - ccze diff --git a/ansible/roles/install_dependencies_jumphost/tasks/Suse.yml b/ansible/roles/install_dependencies_jumphost/tasks/Suse.yml new file mode 100644 index 000000000..af53c9cd5 --- /dev/null +++ b/ansible/roles/install_dependencies_jumphost/tasks/Suse.yml @@ -0,0 +1,49 @@ +# 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. +--- +- name: Install EPEL if needed + action: "{{ ansible_pkg_mgr }} name=epel-release state=present" + when: ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux'] + +- name: Install core packages + action: "{{ ansible_pkg_mgr }} name={{ item }} state=present" + with_items: + - deltarpm + - wget + - expect + - curl + - screen + - git + - socat + - sshpass + - qemu-kvm + - kpartx + - libxslt-devel + - libffi-devel + - openssl-devel + - nginx + - uwsgi + - python-setuptools + - libffi-devel + - python-devel + - nodejs + - npm + - gcc + - lsof + - procps + - bridge-utils + - ebtables + - openssl + - python-virtualenv + - ccze diff --git a/ansible/roles/install_dependencies_jumphost/tasks/main.yml b/ansible/roles/install_dependencies_jumphost/tasks/main.yml new file mode 100644 index 000000000..27660c3ca --- /dev/null +++ b/ansible/roles/install_dependencies_jumphost/tasks/main.yml @@ -0,0 +1,15 @@ +# 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. +--- +- include: "{{ ansible_os_family }}.yml" -- cgit 1.2.3-korg