summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xci/playbooks/prepare-tests.yml (renamed from xci/playbooks/prepare-functest.yml)4
-rw-r--r--xci/playbooks/roles/prepare-tests/defaults/main.yml (renamed from xci/playbooks/roles/prepare-functest/defaults/main.yml)0
-rw-r--r--xci/playbooks/roles/prepare-tests/tasks/main.yml (renamed from xci/playbooks/roles/prepare-functest/tasks/main.yml)22
-rw-r--r--xci/playbooks/roles/prepare-tests/templates/env.j2 (renamed from xci/playbooks/roles/prepare-functest/templates/env.j2)0
-rw-r--r--xci/playbooks/roles/prepare-tests/templates/prepare-tests.sh.j246
-rw-r--r--xci/playbooks/roles/prepare-tests/templates/run-functest.sh.j2 (renamed from xci/playbooks/roles/prepare-functest/templates/run-functest.sh.j2)45
-rw-r--r--xci/playbooks/roles/prepare-tests/vars/main.yml (renamed from xci/playbooks/roles/prepare-functest/vars/main.yml)4
7 files changed, 67 insertions, 54 deletions
diff --git a/xci/playbooks/prepare-functest.yml b/xci/playbooks/prepare-tests.yml
index a4cb664b..1a1935aa 100644
--- a/xci/playbooks/prepare-functest.yml
+++ b/xci/playbooks/prepare-tests.yml
@@ -13,11 +13,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-- name: Prepare the environment for functest
+- name: Prepare the environment for testing
hosts: opnfv
user: root
vars_files:
- ../var/opnfv.yml
- ../installer/osa/files/openstack_services.yml
roles:
- - role: "prepare-functest"
+ - role: "prepare-tests"
diff --git a/xci/playbooks/roles/prepare-functest/defaults/main.yml b/xci/playbooks/roles/prepare-tests/defaults/main.yml
index a3638302..a3638302 100644
--- a/xci/playbooks/roles/prepare-functest/defaults/main.yml
+++ b/xci/playbooks/roles/prepare-tests/defaults/main.yml
diff --git a/xci/playbooks/roles/prepare-functest/tasks/main.yml b/xci/playbooks/roles/prepare-tests/tasks/main.yml
index c29baca9..b75965df 100644
--- a/xci/playbooks/roles/prepare-functest/tasks/main.yml
+++ b/xci/playbooks/roles/prepare-tests/tasks/main.yml
@@ -8,25 +8,25 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-- name: install functest required packages
+- name: install required packages
package:
- name: "{{ functest_required_packages[ansible_pkg_mgr] }}"
+ name: "{{ required_packages[ansible_pkg_mgr] }}"
state: present
-# Docker is needed for functest
+# Docker is needed for test frameworks
- name: Ensure Docker service is started and enabled
service:
name: docker
state: started
enabled: yes
-- name: install functest required pip packages
+- name: install required pip packages
pip:
- name: "{{ functest_required_pip }}"
+ name: "{{ required_pip }}"
state: present
extra_args: '-c https://raw.githubusercontent.com/openstack/requirements/{{ requirements_git_install_branch }}/upper-constraints.txt'
-- name: create public network gateway for functest
+- name: create public network gateway for testing
block:
- name: check if the gateway was already set
shell: "ip a | grep {{ gateway_ip }}"
@@ -40,13 +40,19 @@
when: gateway_ip_result|failed
when: deploy_scenario is match("os-.*")
-- name: prepare environment file for functest
+- name: prepare environment file for tests
template:
src: env.j2
dest: /root/env
mode: 0755
-- name: prepare the script to create networks and run functest
+- name: create the script to prepare for testing
+ template:
+ src: prepare-tests.sh.j2
+ dest: /root/prepare-tests.sh
+ mode: 0755
+
+- name: create the script to run functest
template:
src: run-functest.sh.j2
dest: /root/run-functest.sh
diff --git a/xci/playbooks/roles/prepare-functest/templates/env.j2 b/xci/playbooks/roles/prepare-tests/templates/env.j2
index d9a3bf32..d9a3bf32 100644
--- a/xci/playbooks/roles/prepare-functest/templates/env.j2
+++ b/xci/playbooks/roles/prepare-tests/templates/env.j2
diff --git a/xci/playbooks/roles/prepare-tests/templates/prepare-tests.sh.j2 b/xci/playbooks/roles/prepare-tests/templates/prepare-tests.sh.j2
new file mode 100644
index 00000000..afc1cbbe
--- /dev/null
+++ b/xci/playbooks/roles/prepare-tests/templates/prepare-tests.sh.j2
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+# Variables that we need to pass from XCI to testing
+XCI_ENV=(INSTALLER_TYPE XCI_FLAVOR OPENSTACK_OSA_VERSION CI_LOOP BUILD_TAG NODE_NAME FUNCTEST_MODE FUNCTEST_SUITE_NAME)
+
+# Extract variables from xci.env file
+if [[ -e /root/xci.env ]]; then
+ for x in ${XCI_ENV[@]}; do
+ grep "^${x}=" /root/xci.env >> /root/env
+ done
+ # Parse the XCI's DEPLOY_SCENARIO and XCI_FLAVOR variables and
+ # set the functest container's DEPLOY_SCENARIO variable in the
+ # following format <scenario>-<flavor>. But the XCI's mini flavor
+ # is converted into noha.
+ DEPLOY_SCENARIO=`grep -Po '(?<=DEPLOY_SCENARIO=).*' /root/xci.env`
+ XCI_FLAVOR=`grep -Po '(?<=XCI_FLAVOR=).*' /root/xci.env`
+ XCI_FLAVOR=${XCI_FLAVOR/mini/noha}
+ echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO-$XCI_FLAVOR" >> /root/env
+fi
+
+# we need to ensure the necessary environment variables are sourced
+source /root/env
+
+{% if 'os-' in deploy_scenario %}
+{# stuff needed for OpenStack based scenarios #}
+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 }}
+{% else %}
+{# stuff needed for Kubernetes based scenarios #}
+# Create k8s.creds file for testing
+KUBE_MASTER_URL=$(grep -r server ~/.kube/config | awk '{print $2}')
+KUBE_MASTER_IP=$(echo $KUBE_MASTER_URL | awk -F "[:/]" '{print $4}')
+cat << EOF > ~/k8s.creds
+KUBERNETES_PROVIDER=local
+KUBE_MASTER_URL=$KUBE_MASTER_URL
+KUBE_MASTER_IP=$KUBE_MASTER_IP
+EOF
+{% endif %}
diff --git a/xci/playbooks/roles/prepare-functest/templates/run-functest.sh.j2 b/xci/playbooks/roles/prepare-tests/templates/run-functest.sh.j2
index 5c6f0168..acd19d19 100644
--- a/xci/playbooks/roles/prepare-functest/templates/run-functest.sh.j2
+++ b/xci/playbooks/roles/prepare-tests/templates/run-functest.sh.j2
@@ -1,25 +1,7 @@
#!/bin/bash
-# Variables that we need to pass from XCI to functest
-XCI_ENV=(INSTALLER_TYPE XCI_FLAVOR OPENSTACK_OSA_VERSION CI_LOOP BUILD_TAG NODE_NAME FUNCTEST_MODE FUNCTEST_SUITE_NAME OPNFV_FUNCTEST_HEALTHCHECK_DOCKER_IMAGE_DIGEST)
-
# Create directory to store functest logs
-mkdir -p ~/results/
-
-# Extract variables from xci.env file
-if [[ -e /root/xci.env ]]; then
- for x in ${XCI_ENV[@]}; do
- grep "^${x}=" /root/xci.env >> /root/env
- done
- # Parse the XCI's DEPLOY_SCENARIO and XCI_FLAVOR variables and
- # set the functest container's DEPLOY_SCENARIO variable in the
- # following format <scenario>-<flavor>. But the XCI's mini flavor
- # is converted into noha.
- DEPLOY_SCENARIO=`grep -Po '(?<=DEPLOY_SCENARIO=).*' /root/xci.env`
- XCI_FLAVOR=`grep -Po '(?<=XCI_FLAVOR=).*' /root/xci.env`
- XCI_FLAVOR=${XCI_FLAVOR/mini/noha}
- echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO-$XCI_FLAVOR" >> /root/env
-fi
+mkdir -p /root/functest-results/
# Dump the env file
echo "------------------------------------------------------"
@@ -32,17 +14,6 @@ source /root/env
{% if 'os-' in deploy_scenario %}
{# stuff needed for OpenStack based scenarios #}
-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 }}
-
# the needed images differ between the suites so avoid downloading unnecessary images
echo "Downloading the images needed for functest-$FUNCTEST_SUITE_NAME"
mkdir ~/images && cd ~/images
@@ -66,26 +37,16 @@ DOCKER_IMAGE_NAME="ollivier/functest-${FUNCTEST_SUITE_NAME}"
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 \
+ -v $(pwd)/functest-results:/home/opnfv/functest/results \
${DOCKER_IMAGE_NAME}
{% else %}
{# stuff needed for Kubernetes based scenarios #}
-# Create k8s.creds file for functest
-KUBE_MASTER_URL=$(grep -r server ~/.kube/config | awk '{print $2}')
-KUBE_MASTER_IP=$(echo $KUBE_MASTER_URL | awk -F "[:/]" '{print $4}')
-cat << EOF > ~/k8s.creds
-KUBERNETES_PROVIDER=local
-KUBE_MASTER_URL=$KUBE_MASTER_URL
-KUBE_MASTER_IP=$KUBE_MASTER_IP
-EOF
-
# docker image to use will be different for healthcheck and smoke test
DOCKER_IMAGE_NAME="opnfv/functest-kubernetes-${FUNCTEST_SUITE_NAME}"
sudo docker run --env-file env \
-v $(pwd)/k8s.creds:/home/opnfv/functest/conf/env_file \
-v $(pwd)/.kube/config:/root/.kube/config \
- -v $(pwd)/results:/home/opnfv/functest/results \
+ -v $(pwd)/functest-results:/home/opnfv/functest/results \
$DOCKER_IMAGE_NAME
{% endif %}
-
diff --git a/xci/playbooks/roles/prepare-functest/vars/main.yml b/xci/playbooks/roles/prepare-tests/vars/main.yml
index f076c033..83638466 100644
--- a/xci/playbooks/roles/prepare-functest/vars/main.yml
+++ b/xci/playbooks/roles/prepare-tests/vars/main.yml
@@ -1,5 +1,5 @@
---
-functest_required_packages:
+required_packages:
apt:
- docker.io
- wget
@@ -13,5 +13,5 @@ functest_required_packages:
- wget
- xz
-functest_required_pip:
+required_pip:
- docker-py