ab4919f656
Previous commit had some of the urls incorrect Change-Id: Ia36831ebe55014a0ca58f448f934382bd2b27e68
159 lines
5.2 KiB
YAML
159 lines
5.2 KiB
YAML
---
|
|
# Copyright 2018, Rackspace US, Inc.
|
|
#
|
|
# 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.
|
|
|
|
- import_playbook: run-setup.yml
|
|
|
|
- name: Basic setup
|
|
hosts: "all"
|
|
become: true
|
|
|
|
environment:
|
|
# ZUUL_PROJECT is used by tests/get-ansible-role-requirements to
|
|
# determine when CI provided repos should be used.
|
|
ZUUL_PROJECT: "{{ zuul.project.short_name }}"
|
|
ANSIBLE_PACKAGE: "{{ ansible_package | default('') }}"
|
|
ANSIBLE_HOST_KEY_CHECKING: "False"
|
|
ANSIBLE_LOG_PATH: "/tmp/skydive-logs/ansible-skydive-test.log"
|
|
ANSIBLE_ACTION_PLUGINS: "${HOME}/ansible_venv/repositories/roles/config_template/action"
|
|
ANSIBLE_CONNECTION_PLUGINS: "${HOME}/ansible_venv/repositories/roles/plugins/connection"
|
|
ANSIBLE_ROLES_PATH: "${HOME}/ansible_venv/repositories/roles"
|
|
|
|
vars:
|
|
inventory_file: "inventory/test-metal-inventory.yml"
|
|
|
|
pre_tasks:
|
|
- name: Create swap file
|
|
command: "dd if=/dev/zero of=/swap.img bs=1M count=4096"
|
|
args:
|
|
creates: /swap.img
|
|
register: swap_create
|
|
|
|
- name: Format the swap file
|
|
command: mkswap /swap.img
|
|
when:
|
|
- swap_create is changed
|
|
tags:
|
|
- swap-format
|
|
- skip_ansible_lint
|
|
|
|
- name: Enable swap file
|
|
command: swapon /swap.img
|
|
failed_when: false
|
|
tags:
|
|
- swap-format
|
|
- skip_ansible_lint
|
|
|
|
- name: Set system swappiness
|
|
sysctl:
|
|
name: vm.swappiness
|
|
value: 10
|
|
state: present
|
|
reload: "yes"
|
|
sysctl_file: /etc/sysctl.d/99-skydive.conf
|
|
|
|
- name: Create tmp skydive dir
|
|
file:
|
|
path: "/tmp/skydive-logs"
|
|
state: directory
|
|
|
|
- name: Flush iptables rules
|
|
command: "{{ item }}"
|
|
args:
|
|
creates: "/tmp/skydive-logs/iptables.flushed"
|
|
with_items:
|
|
- "iptables -F"
|
|
- "iptables -X"
|
|
- "iptables -t nat -F"
|
|
- "iptables -t nat -X"
|
|
- "iptables -t mangle -F"
|
|
- "iptables -t mangle -X"
|
|
- "iptables -P INPUT ACCEPT"
|
|
- "iptables -P FORWARD ACCEPT"
|
|
- "iptables -P OUTPUT ACCEPT"
|
|
- "touch /tmp/skydive-logs/iptables.flushed"
|
|
|
|
- name: First ensure apt cache is always refreshed
|
|
apt:
|
|
update_cache: yes
|
|
when:
|
|
- ansible_pkg_mgr == 'apt'
|
|
|
|
tasks:
|
|
- name: Run embedded ansible installation
|
|
become: yes
|
|
become_user: root
|
|
command: "./bootstrap-embedded-ansible.sh"
|
|
args:
|
|
chdir: "src/{{ current_test_repo }}/skydive"
|
|
|
|
- name: Run ansible-galaxy (tests)
|
|
become: yes
|
|
become_user: root
|
|
command: "${HOME}/ansible_venv/bin/ansible-galaxy install --force --ignore-errors --roles-path=${HOME}/ansible_venv/repositories/roles -r ansible-role-requirements.yml"
|
|
args:
|
|
chdir: "src/{{ current_test_repo }}/skydive/tests"
|
|
|
|
- name: Run ansible-galaxy (skydive)
|
|
become: yes
|
|
become_user: root
|
|
command: "${HOME}/ansible_venv/bin/ansible-galaxy install --force --ignore-errors --roles-path=${HOME}/ansible_venv/repositories/roles -r ansible-role-requirements.yml"
|
|
args:
|
|
chdir: "src/{{ current_test_repo }}/skydive"
|
|
|
|
- name: Run environment setup
|
|
become: yes
|
|
become_user: root
|
|
command: "${HOME}/ansible_venv/bin/ansible-playbook -i {{ inventory_file }} -e @test-vars.yml _key-setup.yml"
|
|
environment:
|
|
ANSIBLE_LOG_PATH: "/tmp/skydive-logs/ansible-skydive-test-deployment.log"
|
|
args:
|
|
chdir: "src/{{ current_test_repo }}/skydive/tests"
|
|
|
|
- name: Get the ops repo
|
|
git:
|
|
dest: "/opt/openstack-ansible-ops"
|
|
repo: https://opendev.org/openstack/openstack-ansible-ops
|
|
force: yes
|
|
track_submodules: yes
|
|
clone: yes
|
|
update: yes
|
|
recursive: yes
|
|
version: "HEAD"
|
|
|
|
- name: Run ansible-galaxy (elk_metrics_6x)
|
|
become: yes
|
|
become_user: root
|
|
command: "${HOME}/ansible_venv/bin/ansible-galaxy install --force --ignore-errors --roles-path=${HOME}/ansible_venv/repositories/roles -r ansible-role-requirements.yml"
|
|
args:
|
|
chdir: "/opt/openstack-ansible-ops/elk_metrics_6x"
|
|
|
|
- name: Deploy elk_metrics_6x
|
|
become: yes
|
|
become_user: root
|
|
command: "${HOME}/ansible_venv/bin/ansible-playbook -i tests/{{ inventory_file }} -e @tests/test-vars.yml installElastic.yml"
|
|
environment:
|
|
ANSIBLE_LOG_PATH: "/tmp/skydive-logs/ansible-skydive-test-deployment.log"
|
|
args:
|
|
chdir: "/opt/openstack-ansible-ops/elk_metrics_6x"
|
|
|
|
- name: Run functional test
|
|
become: yes
|
|
become_user: root
|
|
command: "${HOME}/ansible_venv/bin/ansible-playbook -i tests/{{ inventory_file }} -e @tests/test-vars.yml site.yml"
|
|
environment:
|
|
ANSIBLE_LOG_PATH: "/tmp/skydive-logs/ansible-skydive-test-deployment.log"
|
|
args:
|
|
chdir: "src/{{ current_test_repo }}/skydive"
|