diff options
-rwxr-xr-x | build/overcloud-full.sh | 22 | ||||
-rwxr-xr-x | ci/run_smoke_tests.sh | 5 | ||||
-rw-r--r-- | lib/utility-functions.sh | 13 | ||||
-rwxr-xr-x | tests/smoke_tests/execute_smoke_tests.sh | 6 | ||||
-rw-r--r-- | tests/smoke_tests/execute_tests.yml | 9 | ||||
-rw-r--r-- | tests/smoke_tests/prepare_undercloud.yml | 16 | ||||
-rw-r--r-- | tests/smoke_tests/smoke_tests.yml | 3 |
7 files changed, 70 insertions, 4 deletions
diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh index 01f40269..e995472a 100755 --- a/build/overcloud-full.sh +++ b/build/overcloud-full.sh @@ -58,6 +58,22 @@ pushd puppet-congress > /dev/null git archive --format=tar.gz --prefix=congress/ origin/stable/mitaka > ../puppet-congress.tar.gz popd > /dev/null +# create fd.io yum repo file +cat > /tmp/fdio-master.repo << EOF +[fdio-master] +name=fd.io master branch latest merge +baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7/ +enabled=1 +gpgcheck=0 +EOF + +# tar up the fd.io module +rm -rf puppet-fdio +git clone https://github.com/radez/puppet-fdio +pushd puppet-fdio > /dev/null +git archive --format=tar.gz --prefix=fdio/ HEAD > ../puppet-fdio.tar.gz +popd > /dev/null + # installing forked opnfv-puppet-tripleo # enable connection tracking for protocal sctp # upload dpdk rpms but do not install @@ -65,6 +81,8 @@ popd > /dev/null # install the congress rpms # upload and explode the congress puppet module # install doctor driver ## Can be removed in Newton +# install fd.io yum repo and packages +# upload puppet fdio LIBGUESTFS_BACKEND=direct virt-customize \ --upload ../opnfv-puppet-tripleo.tar.gz:/etc/puppet/modules \ --run-command "sed -i 's/^#UseDNS.*$/UseDNS no/' /etc/ssh/sshd_config" \ @@ -84,6 +102,10 @@ LIBGUESTFS_BACKEND=direct virt-customize \ --run-command "cd /etc/puppet/modules/ && tar xzf puppet-congress.tar.gz" \ --run-command "cd /usr/lib/python2.7/site-packages/congress/datasources && curl -O $doctor_driver" \ --run-command "sed -i \"s/'--detailed-exitcodes',/'--detailed-exitcodes','-l','syslog','-l','console',/g\" /var/lib/heat-config/hooks/puppet" \ + --upload /tmp/fdio-master.repo:/etc/yum.repos.d/fdio-master.repo \ + --install unzip,vpp,honeycomb \ + --upload puppet-fdio.tar.gz:/etc/puppet/modules \ + --run-command "cd /etc/puppet/modules && tar xzf puppet-fdio.tar.gz" \ -a overcloud-full_build.qcow2 mv -f overcloud-full_build.qcow2 overcloud-full.qcow2 diff --git a/ci/run_smoke_tests.sh b/ci/run_smoke_tests.sh new file mode 100755 index 00000000..b0599527 --- /dev/null +++ b/ci/run_smoke_tests.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +source ../lib/utility-functions.sh + +ansible-playbook -i "$(get_undercloud_ip)," ../tests/smoke_tests/smoke_tests.yml diff --git a/lib/utility-functions.sh b/lib/utility-functions.sh index 93050701..f73a2d85 100644 --- a/lib/utility-functions.sh +++ b/lib/utility-functions.sh @@ -15,14 +15,19 @@ function undercloud_connect { fi if [ -z "$2" ]; then - ssh ${SSH_OPTIONS[@]} ${user}@$(arp -a | grep $(virsh domiflist undercloud | grep default |\ - awk '{print $5}') | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+") + ssh ${SSH_OPTIONS[@]} ${user}@$(get_undercloud_ip) else - ssh ${SSH_OPTIONS[@]} -T ${user}@$(arp -a | grep $(virsh domiflist undercloud | grep default \ - | awk '{print $5}') | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+") "$2" + ssh ${SSH_OPTIONS[@]} -T ${user}@$(get_undercloud_ip) "$2" fi } +##outputs the Undercloud's IP address +##params: none +function get_undercloud_ip { + echo $(arp -a | grep $(virsh domiflist undercloud | grep default |\ + awk '{print $5}') | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+") +} + ##connects to overcloud nodes ##params: node to login to, command to execute on overcloud (optional) function overcloud_connect { diff --git a/tests/smoke_tests/execute_smoke_tests.sh b/tests/smoke_tests/execute_smoke_tests.sh new file mode 100755 index 00000000..245ccc53 --- /dev/null +++ b/tests/smoke_tests/execute_smoke_tests.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +cd ~/provisioning/python +export PYTHONPATH=$PYTHONPATH:$(pwd) + +python unit_test_suite.py ~stack/overcloudrc
\ No newline at end of file diff --git a/tests/smoke_tests/execute_tests.yml b/tests/smoke_tests/execute_tests.yml new file mode 100644 index 00000000..e2326560 --- /dev/null +++ b/tests/smoke_tests/execute_tests.yml @@ -0,0 +1,9 @@ +--- +- hosts: all + sudo: yes + + tasks: + - name: Copy execute_smoke_tests.sh + copy: src=execute_smoke_tests.sh dest=~/execute_smoke_tests.sh mode=0755 + - name: Execute Tests + command: sh ~/execute_smoke_tests.sh | tee ~/unit_tests.out
\ No newline at end of file diff --git a/tests/smoke_tests/prepare_undercloud.yml b/tests/smoke_tests/prepare_undercloud.yml new file mode 100644 index 00000000..8f0cb709 --- /dev/null +++ b/tests/smoke_tests/prepare_undercloud.yml @@ -0,0 +1,16 @@ +--- +- hosts: all + sudo: yes + + tasks: + - yum: name=libffi + - yum: name=libffi-devel + - pip: name=python-keystoneclient + - pip: name=python-glanceclient + - pip: name=python-neutronclient + - pip: name=python-novaclient + - pip: name=scp + - pip: name=PyYAML + - pip: name=ansible==2.1.0 + + - git: repo=https://nougat.cablelabs.com/SNAPS/provisioning.git dest=~/provisioning diff --git a/tests/smoke_tests/smoke_tests.yml b/tests/smoke_tests/smoke_tests.yml new file mode 100644 index 00000000..b67c194f --- /dev/null +++ b/tests/smoke_tests/smoke_tests.yml @@ -0,0 +1,3 @@ +--- +- include: prepare_undercloud.yml +- include: execute_tests.yml
\ No newline at end of file |