summaryrefslogtreecommitdiffstats
path: root/xci/playbooks/roles/prepare-functest
diff options
context:
space:
mode:
authorFatih Degirmenci <fdegir@gmail.com>2018-02-28 11:37:52 +0000
committerFatih Degirmenci <fdegir@gmail.com>2018-02-28 18:50:48 +0000
commitf7e288dec1de77be635c5024729fb97de02641ba (patch)
tree8ecd9716516090ee2982f2338f40d883828fa50a /xci/playbooks/roles/prepare-functest
parentfaf5144aa6c87642d627b63a8464a8e96949e9fe (diff)
functest: Move run-functest.sh execution out of ansible
Ansible throws out the log at the end of task execution which makes it hard to read. This change renames the role to prepare-functest and then takes the script execution out which will be executed by releng/jjb/xci/xci-run-functest.sh. Change-Id: Icf399ce4f04357814ed7109cd11113a9decddc50 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
Diffstat (limited to 'xci/playbooks/roles/prepare-functest')
-rw-r--r--xci/playbooks/roles/prepare-functest/defaults/main.yml14
-rw-r--r--xci/playbooks/roles/prepare-functest/tasks/main.yml36
-rw-r--r--xci/playbooks/roles/prepare-functest/templates/env.j27
-rw-r--r--xci/playbooks/roles/prepare-functest/templates/run-functest.sh.j221
4 files changed, 78 insertions, 0 deletions
diff --git a/xci/playbooks/roles/prepare-functest/defaults/main.yml b/xci/playbooks/roles/prepare-functest/defaults/main.yml
new file mode 100644
index 00000000..a3638302
--- /dev/null
+++ b/xci/playbooks/roles/prepare-functest/defaults/main.yml
@@ -0,0 +1,14 @@
+---
+# Gateway parameters
+gateway_ip: "10.10.10.1"
+gateway_ip_mask: "10.10.10.1/24"
+broadcast_ip: "10.10.10.255"
+gateway_interface: "br-vlan"
+
+# Network parameters
+external_network: "ext-net"
+
+# Subnet parameters
+subnet_name: "ext-subnet"
+allocation_pool: "start=10.10.10.5,end=10.10.10.254"
+subnet_cidr: "10.10.10.0/24"
diff --git a/xci/playbooks/roles/prepare-functest/tasks/main.yml b/xci/playbooks/roles/prepare-functest/tasks/main.yml
new file mode 100644
index 00000000..243358fc
--- /dev/null
+++ b/xci/playbooks/roles/prepare-functest/tasks/main.yml
@@ -0,0 +1,36 @@
+---
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2017 SUSE Linux GmbH
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+- name: check if the gateway was already set
+ shell: "ip a | grep {{ gateway_ip }}"
+ register: gateway_ip_result
+ ignore_errors: True
+
+- name: add public network gateway
+ command: "ip addr add {{ gateway_ip_mask }} brd {{ broadcast_ip }} dev {{ gateway_interface }}"
+ when: gateway_ip_result|failed
+
+- name: prepare environment file for functest
+ template:
+ src: env.j2
+ dest: /root/env
+ mode: 0755
+
+- name: prepare the script to create networks and run functest
+ template:
+ src: run-functest.sh.j2
+ dest: /root/run-functest.sh
+ mode: 0755
+
+- name: install required packages
+ package:
+ name: "{{ item }}"
+ state: present
+ with_items:
+ - wget
diff --git a/xci/playbooks/roles/prepare-functest/templates/env.j2 b/xci/playbooks/roles/prepare-functest/templates/env.j2
new file mode 100644
index 00000000..43a581bd
--- /dev/null
+++ b/xci/playbooks/roles/prepare-functest/templates/env.j2
@@ -0,0 +1,7 @@
+INSTALLER_TYPE=osa
+INSTALLER_IP=192.168.122.2
+EXTERNAL_NETWORK={{ external_network }}
+DEPLOY_SCENARIO="os-nosdn-nofeature-noha"
+CI_LOOP=daily
+TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results
+ENERGY_RECORDER_API_URL=http://energy.opnfv.fr/resources
diff --git a/xci/playbooks/roles/prepare-functest/templates/run-functest.sh.j2 b/xci/playbooks/roles/prepare-functest/templates/run-functest.sh.j2
new file mode 100644
index 00000000..016df8ef
--- /dev/null
+++ b/xci/playbooks/roles/prepare-functest/templates/run-functest.sh.j2
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+source /root/openrc
+
+openstack --insecure network create --external \
+ --provider-physical-network flat \
+ --provider-network-type flat {{ external_network }}
+
+openstack --insecure subnet create --network {{ external_network }} \
+ --allocation-pool {{ allocation_pool }} \
+ --subnet-range {{ subnet_cidr }} --gateway {{ gateway_ip }} \
+ --no-dhcp {{ subnet_name }}
+
+mkdir ~/results/
+mkdir ~/images && cd ~/images && wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img && cd ~
+
+sudo docker run --env-file env \
+ -v $(pwd)/openrc:/home/opnfv/functest/conf/env_file \
+ -v $(pwd)/images:/home/opnfv/functest/images \
+ -v $(pwd)/results:/home/opnfv/functest/results \
+ opnfv/functest-healthcheck