Scripts to allow Jenkins to run the SNAPS-OO tests. 75/39075/2
authorspisarski <s.pisarski@cablelabs.com>
Thu, 10 Aug 2017 15:17:44 +0000 (09:17 -0600)
committerspisarski <s.pisarski@cablelabs.com>
Fri, 11 Aug 2017 14:44:27 +0000 (08:44 -0600)
JIRA: SNAPS-80

Change-Id: I7d634a5484752194d7796e841233bf387c1aeafe
Signed-off-by: spisarski <s.pisarski@cablelabs.com>
ci/run_tests.sh [new file with mode: 0755]
ci/setup_proxy.yaml [new file with mode: 0644]
ci/squid.conf [new file with mode: 0644]

diff --git a/ci/run_tests.sh b/ci/run_tests.sh
new file mode 100755 (executable)
index 0000000..14f1a11
--- /dev/null
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+set -e
+
+# Setup Python runtime
+sudo pip install virtualenv
+virtualenv ./vpy
+source ./vpy/bin/activate
+pip install -e ../
+
+# $1 is the IP to the pod's build server
+# $2 is the IP to the pod's control server
+
+# This operation installs squid on the pod's build server
+ansible-playbook -i ${1}, setup_proxy.yaml
+
+# Get RC file from control server
+filename=$(ssh -o StrictHostKeyChecking=no root@${2} find /var/lib/lxc/controller00_nova_api_placement_container-* -name openrc)
+scp root@${2}:${filename} .
+
+# Execute tests
+python ../snaps/test_runner.py -e openrc -n public -ci -p ${1}:3128
+
+# Cleanup virtual python runtime
+rm -rf ./vpy
diff --git a/ci/setup_proxy.yaml b/ci/setup_proxy.yaml
new file mode 100644 (file)
index 0000000..996218a
--- /dev/null
@@ -0,0 +1,17 @@
+---
+- hosts: all
+  user: root
+
+  tasks:
+   - yum: name=squid
+     when: ansible_distribution == "CentOS"
+   - apt: name=squid
+     when: ansible_distribution == "Ubuntu"
+
+   - name: Transfer squid.conf
+     copy: src=squid.conf dest=/etc/squid/squid.conf mode=0640
+
+   - name: Bounce Squid
+     systemd:
+      name: squid
+      state: reloaded
diff --git a/ci/squid.conf b/ci/squid.conf
new file mode 100644 (file)
index 0000000..110c1d2
--- /dev/null
@@ -0,0 +1,24 @@
+acl SSL_ports port 443
+acl Safe_ports port 80      # http
+acl Safe_ports port 21      # ftp
+acl Safe_ports port 443     # https
+acl Safe_ports port 70      # gopher
+acl Safe_ports port 210     # wais
+acl Safe_ports port 1025-65535  # unregistered ports
+acl Safe_ports port 280     # http-mgmt
+acl Safe_ports port 488     # gss-http
+acl Safe_ports port 591     # filemaker
+acl Safe_ports port 777     # multiling http
+acl CONNECT method CONNECT
+
+http_access allow all
+
+http_port 3128
+
+coredump_dir /var/spool/squid
+
+refresh_pattern ^ftp:       1440    20% 10080
+refresh_pattern ^gopher:    1440    0%  1440
+refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
+refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
+refresh_pattern .       0   20% 4320