diff options
author | Joseph Henry <josephjah@gmail.com> | 2015-11-19 16:21:59 -0800 |
---|---|---|
committer | Joseph Henry <josephjah@gmail.com> | 2015-11-19 16:21:59 -0800 |
commit | 31bc5e1559848db374d8d9dd039939c802d91649 (patch) | |
tree | eb3f9ddb521f667ab5cffb4c584ad62014ef945a | |
parent | b1100b3d130598d73534c5e324e1a079364f6146 (diff) | |
download | infinitytier-31bc5e1559848db374d8d9dd039939c802d91649.tar.gz infinitytier-31bc5e1559848db374d8d9dd039939c802d91649.zip |
WIP: Unit tests
56 files changed, 396 insertions, 709 deletions
diff --git a/_results/test b/_results/test new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/_results/test diff --git a/docker-test/._.DS_Store b/docker-test/._.DS_Store Binary files differindex c9f90aab..b769b1a1 100644 --- a/docker-test/._.DS_Store +++ b/docker-test/._.DS_Store diff --git a/docker-test/_results/._.DS_Store b/docker-test/_results/._.DS_Store Binary files differindex fe918863..433b5ca1 100644 --- a/docker-test/_results/._.DS_Store +++ b/docker-test/_results/._.DS_Store diff --git a/docker-test/build.sh b/docker-test/build.sh new file mode 100755 index 00000000..d9310a5d --- /dev/null +++ b/docker-test/build.sh @@ -0,0 +1,19 @@ +cd ../ + +make clean +make +cd netcon +make -f make-intercept.mk lib +rm *.o +rm liblwip.so +make -f make-liblwip.mk + +cd ../docker-test/ + +cp ../zerotier-one zerotier-one +cp ../zerotier-cli zerotier-cli + +cp ../netcon/liblwip.so liblwip.so +cp ../netcon/libintercept.so.1.0 libintercept.so.1.0 +cp ../netcon/intercept intercept + diff --git a/docker-test/httpd/._.DS_Store b/docker-test/httpd/._.DS_Store Binary files differnew file mode 100644 index 00000000..199b6448 --- /dev/null +++ b/docker-test/httpd/._.DS_Store diff --git a/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/README.md b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/README.md new file mode 100644 index 00000000..008fcac8 --- /dev/null +++ b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/README.md @@ -0,0 +1,8 @@ +Network Containers Test Sequence for: httpd_demo + +1) Creates a Netcon docker container with an intercepted instance of httpd +2) Creates a test monitor container + +3) Test monitor container waits for X seconds for the Netcon container to come online +4) Test monitor attempts to curl an index.html file + - If file is of sufficient size, it will append "OK." to the result file for this test, otherwise "FAIL." is appended diff --git a/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/monitor_dockerfile b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/monitor_dockerfile new file mode 100644 index 00000000..0543ccdc --- /dev/null +++ b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/monitor_dockerfile @@ -0,0 +1,23 @@ +# ZT Network Containers Test Monitor +FROM fedora:23 +MAINTAINER https://www.zerotier.com/ + +EXPOSE 9993/udp + +# Add ZT files +RUN mkdir -p /var/lib/zerotier-one/networks.d +ADD monitor_identity.public /var/lib/zerotier-one/identity.public +ADD monitor_identity.secret /var/lib/zerotier-one/identity.secret +RUN touch /var/lib/zerotier-one/networks.d/e5cd7a9e1c5311ab.conf +ADD zerotier-one / +ADD zerotier-cli / + +# Install LWIP library used by service +ADD liblwip.so / +RUN mkdir -p ext/bin/lwip +RUN cp liblwip.so ext/bin/lwip/liblwip.so + +# Start ZeroTier-One +ADD monitor_entrypoint.sh /monitor_entrypoint.sh +RUN chmod -v +x /monitor_entrypoint.sh +CMD ["./monitor_entrypoint.sh"] diff --git a/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/monitor_entrypoint.sh b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/monitor_entrypoint.sh new file mode 100644 index 00000000..7be99e9a --- /dev/null +++ b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/monitor_entrypoint.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +# Parameters for test +test_name=httpd_bigfile +nwid=e5cd7a9e1c5311ab # test network +netcon_wait_time=45 # wait for test container to come online +app_timeout_time=10 # app-specific timeout +file_path=/opt/results/ # test result output file path (fs shared between host and containers) +file_base="$test_name".txt # test result output file +fail=FAIL. # appended to result file in event of failure +ok=OK. # appended to result file in event of success +address_file="$file_path$test_name"_addr.txt # file shared between host and containers for sharing address (optional) +tmp=/test/ # for storage of large transfer test files, things that shouldn't be shared with host +bigfile=bigfile # large, random test transfer file + +export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/ + +echo '*** ZeroTier Network Containers Test Monitor' +chown -R daemon /var/lib/zerotier-one +chgrp -R daemon /var/lib/zerotier-one +su daemon -s /bin/bash -c '/zerotier-one -d -U -p9993 >>/tmp/zerotier-one.out 2>&1' +echo '*** Waiting for initial identity generation...' + +while [ ! -s /var/lib/zerotier-one/identity.secret ]; do + sleep 0.2 +done + +echo '*** Waiting for network config...' + +virtip4="" +while [ ! -s /var/lib/zerotier-one/networks.d/"$nwid".conf ]; do + sleep 0.2 +done +while [ -z "$virtip4" ]; do + sleep 0.2 + virtip4=`/zerotier-cli listnetworks | grep -F $nwid | cut -d ' ' -f 9 | sed 's/,/\n/g' | grep -F '.' | cut -d / -f 1` +done + +echo '*** Starting Test...' +echo '*** Up and running at' $virtip4 +echo '*** Sleeping for 30s while we wait for the Network Container to come online...' +sleep "$netcon_wait_time"s +ncvirtip=$(<$address_file) +echo '*** Curling from intercepted server at' $ncvirtip +rm -rf "$file_path"*."$file_base" +touch "$tmp$bigfile" + +# Perform test +# curl --connect-timeout "$app_timeout_time" -v -o "$file_path$file_base" http://"$ncvirtip"/index.html + +# Large transfer test +mkdir -p "$tmp" +curl --connect-timeout "$app_timeout_time" -v -o "$tmp$bigfile" http://"$ncvirtip"/"$bigfile" + +# Test outcome logic +minimumsize=39550 +actualsize=$(wc -c <"$tmp$bigfile") +if [ $actualsize -ge $minimumsize ]; then + echo 'OK' + touch "$file_path$ok$file_base" + #mv "$file_path$file_base" "$file_path$ok$file_base" +else + echo 'FAIL' + touch "$file_path$fail$file_base" + #mv "$file_path$file_base" "$file_path$fail$file_base" +fi
\ No newline at end of file diff --git a/docker-test/throughput_httpd_2.4.16/Dockerfile b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/netcon_dockerfile index 71549754..20ce9bf1 100644 --- a/docker-test/throughput_httpd_2.4.16/Dockerfile +++ b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/netcon_dockerfile @@ -1,16 +1,15 @@ -# ZT Netcon Throughput test +# ZT Network Containers Test FROM fedora:23 MAINTAINER https://www.zerotier.com/ # Install apps RUN yum -y update -RUN yum -y install httpd-2.4.16-1.fc23 -RUN yum -y install nano +RUN yum -y install httpd-2.4.16-1.fc23.x86_64 RUN yum clean all -EXPOSE 9993/udp 9992/udp 9991/udp 9990/udp +EXPOSE 9993/udp -# Install sys-call intercept library +# Install syscall intercept library ADD intercept / ADD libintercept.so.1.0 / RUN cp libintercept.so.1.0 lib/libintercept.so.1.0 @@ -20,15 +19,15 @@ RUN /usr/bin/install -c intercept /usr/bin # Add ZT files RUN mkdir -p /var/lib/zerotier-one/networks.d +ADD netcon_identity.public /var/lib/zerotier-one/identity.public +ADD netcon_identity.secret /var/lib/zerotier-one/identity.secret RUN touch /var/lib/zerotier-one/networks.d/e5cd7a9e1c5311ab.conf ADD zerotier-one / ADD zerotier-cli / -# Install test-setup scripts -ADD generate_file.sh /generate_file.sh -RUN chmod -v +x /generate_file.sh -ADD entrypoint.sh /entrypoint.sh -RUN chmod -v +x /entrypoint.sh +# Install test scripts +ADD netcon_entrypoint.sh /netcon_entrypoint.sh +RUN chmod -v +x /netcon_entrypoint.sh # Install LWIP library used by service ADD liblwip.so / @@ -36,4 +35,4 @@ RUN mkdir -p ext/bin/lwip RUN cp liblwip.so ext/bin/lwip/liblwip.so # Start ZeroTier-One -CMD ["./entrypoint.sh"] +CMD ["./netcon_entrypoint.sh"] diff --git a/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/netcon_entrypoint.sh b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/netcon_entrypoint.sh new file mode 100644 index 00000000..82e8ae51 --- /dev/null +++ b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/netcon_entrypoint.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# Parameters for test +test_name=httpd_bigfile +nwid=e5cd7a9e1c5311ab # test network +file_path=/opt/results/ # test result output file path (fs shared between host and containers) +file_base="$test_name".txt # test result output file +address_file="$file_path$test_name"_addr.txt # file shared between host and containers for sharing address (optional) +bigfile_size=10M + +export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/ + +echo '*** ZeroTier Network Containers Test: ' "$test_name" +chown -R daemon /var/lib/zerotier-one +chgrp -R daemon /var/lib/zerotier-one +su daemon -s /bin/bash -c '/zerotier-one -d -U -p9993 >>/tmp/zerotier-one.out 2>&1' +echo '*** Waiting for initial identity generation...' + +while [ ! -s /var/lib/zerotier-one/identity.secret ]; do + sleep 0.2 +done + +echo '*** Waiting for network config...' + +virtip4="" +while [ ! -s /var/lib/zerotier-one/networks.d/"$nwid".conf ]; do + sleep 0.2 +done +while [ -z "$virtip4" ]; do + sleep 0.2 + virtip4=`/zerotier-cli listnetworks | grep -F $nwid | cut -d ' ' -f 9 | sed 's/,/\n/g' | grep -F '.' | cut -d / -f 1` +done + +echo '*** Up and running at' $virtip4 +echo $virtip4 > "$address_file" + +# Generate large random file for transfer test +echo '*** Generating ' "$bigfile_size" ' file' +dd if=/dev/urandom of=/var/www/html/bigfile bs="$bigfile_size" count=1 + +echo '*** Starting Apache...' +sleep 0.5 +rm -rf /run/httpd/* /tmp/httpd* +intercept /usr/sbin/httpd -D FOREGROUND >>/tmp/apache.out 2>&1 diff --git a/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/test.sh b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/test.sh new file mode 100755 index 00000000..48b87676 --- /dev/null +++ b/docker-test/httpd/httpd_2.4.16-1.fc23.x86_64/test.sh @@ -0,0 +1,39 @@ + +testname=${PWD##*/} +echo 'Building dockerfiles for test: ' "$testname" + +# Docker won't allow the inclusion of files outside of the build directory +cp ../../zerotier-one zerotier-one +cp ../../zerotier-cli zerotier-cli +cp ../../intercept intercept +cp ../../libintercept.so.1.0 libintercept.so.1.0 +cp ../../liblwip.so liblwip.so +cp ../../netcon_identity.public netcon_identity.public +cp ../../netcon_identity.secret netcon_identity.secret +cp ../../monitor_identity.public monitor_identity.public +cp ../../monitor_identity.secret monitor_identity.secret + + +docker build --tag="$testname" -f netcon_dockerfile . +docker build --tag="$testname"_monitor -f monitor_dockerfile . + +rm -f zerotier-one +rm -f zerotier-cli +rm -f intercept +rm -f libintercept.so.1.0 +rm -f liblwip.so +rm -f netcon_identity.public +rm -f netcon_identity.secret +rm -f monitor_identity.public +rm -f monitor_identity.secret + +# Start netcon container to be tested +docker run -d -it -v $PWD/../../_results:/opt/results --device=/dev/net/tun "$testname":latest +docker run -d -it -v $PWD/../../_results:/opt/results --device=/dev/net/tun "$testname"_monitor:latest + +sleep 45s +docker kill $(docker ps -a -q) + +#docker ps -a -q --filter="name=httpd_demo" +#docker ps -a -q --filter="name=httpd_demo_monitor" +#rm -rf ../../_tmp/*.txt
\ No newline at end of file diff --git a/docker-test/httpd/httpd_demo/._.DS_Store b/docker-test/httpd/httpd_demo/._.DS_Store Binary files differnew file mode 100644 index 00000000..9047cbae --- /dev/null +++ b/docker-test/httpd/httpd_demo/._.DS_Store diff --git a/docker-test/httpd/httpd_demo/README.md b/docker-test/httpd/httpd_demo/README.md new file mode 100644 index 00000000..008fcac8 --- /dev/null +++ b/docker-test/httpd/httpd_demo/README.md @@ -0,0 +1,8 @@ +Network Containers Test Sequence for: httpd_demo + +1) Creates a Netcon docker container with an intercepted instance of httpd +2) Creates a test monitor container + +3) Test monitor container waits for X seconds for the Netcon container to come online +4) Test monitor attempts to curl an index.html file + - If file is of sufficient size, it will append "OK." to the result file for this test, otherwise "FAIL." is appended diff --git a/docker-test/httpd_demo/htdocs/ZeroTierIcon.png b/docker-test/httpd/httpd_demo/htdocs/ZeroTierIcon.png Binary files differindex 4d9641b3..4d9641b3 100644 --- a/docker-test/httpd_demo/htdocs/ZeroTierIcon.png +++ b/docker-test/httpd/httpd_demo/htdocs/ZeroTierIcon.png diff --git a/docker-test/httpd_demo/htdocs/index.html b/docker-test/httpd/httpd_demo/htdocs/index.html index 017e4493..017e4493 100644 --- a/docker-test/httpd_demo/htdocs/index.html +++ b/docker-test/httpd/httpd_demo/htdocs/index.html diff --git a/docker-test/httpd/httpd_demo/monitor_dockerfile b/docker-test/httpd/httpd_demo/monitor_dockerfile new file mode 100644 index 00000000..0543ccdc --- /dev/null +++ b/docker-test/httpd/httpd_demo/monitor_dockerfile @@ -0,0 +1,23 @@ +# ZT Network Containers Test Monitor +FROM fedora:23 +MAINTAINER https://www.zerotier.com/ + +EXPOSE 9993/udp + +# Add ZT files +RUN mkdir -p /var/lib/zerotier-one/networks.d +ADD monitor_identity.public /var/lib/zerotier-one/identity.public +ADD monitor_identity.secret /var/lib/zerotier-one/identity.secret +RUN touch /var/lib/zerotier-one/networks.d/e5cd7a9e1c5311ab.conf +ADD zerotier-one / +ADD zerotier-cli / + +# Install LWIP library used by service +ADD liblwip.so / +RUN mkdir -p ext/bin/lwip +RUN cp liblwip.so ext/bin/lwip/liblwip.so + +# Start ZeroTier-One +ADD monitor_entrypoint.sh /monitor_entrypoint.sh +RUN chmod -v +x /monitor_entrypoint.sh +CMD ["./monitor_entrypoint.sh"] diff --git a/docker-test/httpd/httpd_demo/monitor_entrypoint.sh b/docker-test/httpd/httpd_demo/monitor_entrypoint.sh new file mode 100644 index 00000000..50aedae6 --- /dev/null +++ b/docker-test/httpd/httpd_demo/monitor_entrypoint.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +# Parameters for test +test_name=httpd_demo +nwid=e5cd7a9e1c5311ab # test network +netcon_wait_time=45 # wait for test container to come online +app_timeout_time=10 # app-specific timeout +file_path=/opt/results/ # test result output file path (fs shared between host and containers) +file_base="$test_name".txt # test result output file +fail=FAIL. # appended to result file in event of failure +ok=OK. # appended to result file in event of success +address_file="$file_path$test_name"_addr.txt # file shared between host and containers for sharing address (optional) + +export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/ + +echo '*** ZeroTier Network Containers Test Monitor' +chown -R daemon /var/lib/zerotier-one +chgrp -R daemon /var/lib/zerotier-one +su daemon -s /bin/bash -c '/zerotier-one -d -U -p9993 >>/tmp/zerotier-one.out 2>&1' +echo '*** Waiting for initial identity generation...' + +while [ ! -s /var/lib/zerotier-one/identity.secret ]; do + sleep 0.2 +done + +echo '*** Waiting for network config...' + +virtip4="" +while [ ! -s /var/lib/zerotier-one/networks.d/"$nwid".conf ]; do + sleep 0.2 +done +while [ -z "$virtip4" ]; do + sleep 0.2 + virtip4=`/zerotier-cli listnetworks | grep -F $nwid | cut -d ' ' -f 9 | sed 's/,/\n/g' | grep -F '.' | cut -d / -f 1` +done + +echo '*** Starting Test...' +echo '*** Up and running at' $virtip4 +echo '*** Sleeping for 30s while we wait for the Network Container to come online...' +sleep "$netcon_wait_time"s +ncvirtip=$(<$address_file) +echo '*** Curling from intercepted server at' $ncvirtip +rm -rf "$file_path"*."$file_base" +touch "$file_path$file_base" + +# Perform test +curl --connect-timeout "$app_timeout_time" -v -o "$file_path$file_base" http://"$ncvirtip"/index.html + +# Test outcome logic +minimumsize=3955 +actualsize=$(wc -c <"$file_path$file_base") +if [ $actualsize -ge $minimumsize ]; then + echo 'OK' + mv "$file_path$file_base" "$file_path$ok$file_base" +else + echo 'FAIL' + mv "$file_path$file_base" "$file_path$fail$file_base" +fi
\ No newline at end of file diff --git a/docker-test/throughput_httpd_2.4.17/Dockerfile b/docker-test/httpd/httpd_demo/netcon_dockerfile index 77a1a26a..bcc029c2 100644 --- a/docker-test/throughput_httpd_2.4.17/Dockerfile +++ b/docker-test/httpd/httpd_demo/netcon_dockerfile @@ -1,17 +1,21 @@ -# ZT Netcon Throughput test +# ZT Network Containers Test FROM fedora:23 MAINTAINER https://www.zerotier.com/ # Install apps RUN yum -y update -RUN yum -y install httpd-2.4.17-3.fc23 -RUN yum -y install nano -RUN yum -y install strace +RUN yum -y install httpd RUN yum clean all -EXPOSE 9993/udp 9992/udp 9991/udp 9990/udp +#include Apache +ADD htdocs/index.html / +ADD htdocs/ZeroTierIcon.png / +RUN mv index.html /var/www/html/index.html +RUN mv ZeroTierIcon.png /var/www/html/ZeroTierIcon.png -# Install sys-call intercept library +EXPOSE 9993/udp + +# Install syscall intercept library ADD intercept / ADD libintercept.so.1.0 / RUN cp libintercept.so.1.0 lib/libintercept.so.1.0 @@ -21,15 +25,15 @@ RUN /usr/bin/install -c intercept /usr/bin # Add ZT files RUN mkdir -p /var/lib/zerotier-one/networks.d +ADD netcon_identity.public /var/lib/zerotier-one/identity.public +ADD netcon_identity.secret /var/lib/zerotier-one/identity.secret RUN touch /var/lib/zerotier-one/networks.d/e5cd7a9e1c5311ab.conf ADD zerotier-one / ADD zerotier-cli / -# Install test-setup scripts -ADD generate_file.sh /generate_file.sh -RUN chmod -v +x /generate_file.sh -ADD entrypoint.sh /entrypoint.sh -RUN chmod -v +x /entrypoint.sh +# Install test scripts +ADD netcon_entrypoint.sh /netcon_entrypoint.sh +RUN chmod -v +x /netcon_entrypoint.sh # Install LWIP library used by service ADD liblwip.so / @@ -37,4 +41,4 @@ RUN mkdir -p ext/bin/lwip RUN cp liblwip.so ext/bin/lwip/liblwip.so # Start ZeroTier-One -CMD ["./entrypoint.sh"] +CMD ["./netcon_entrypoint.sh"] diff --git a/docker-test/httpd/httpd_demo/netcon_entrypoint.sh b/docker-test/httpd/httpd_demo/netcon_entrypoint.sh new file mode 100644 index 00000000..ee6c1351 --- /dev/null +++ b/docker-test/httpd/httpd_demo/netcon_entrypoint.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# Parameters for test +test_name=httpd_demo +nwid=e5cd7a9e1c5311ab # test network +file_path=/opt/results/ # test result output file path (fs shared between host and containers) +file_base="$test_name".txt # test result output file +address_file="$file_path$test_name"_addr.txt # file shared between host and containers for sharing address (optional) + +export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/ + +echo '*** ZeroTier Network Containers Test: httpd_demo' +chown -R daemon /var/lib/zerotier-one +chgrp -R daemon /var/lib/zerotier-one +su daemon -s /bin/bash -c '/zerotier-one -d -U -p9993 >>/tmp/zerotier-one.out 2>&1' +echo '*** Waiting for initial identity generation...' + +while [ ! -s /var/lib/zerotier-one/identity.secret ]; do + sleep 0.2 +done + +echo '*** Waiting for network config...' + +virtip4="" +while [ ! -s /var/lib/zerotier-one/networks.d/"$nwid".conf ]; do + sleep 0.2 +done +while [ -z "$virtip4" ]; do + sleep 0.2 + virtip4=`/zerotier-cli listnetworks | grep -F $nwid | cut -d ' ' -f 9 | sed 's/,/\n/g' | grep -F '.' | cut -d / -f 1` +done + +echo '*** Starting Apache...' +echo '*** Up and running at' $virtip4 +echo $virtip4 > "$address_file" + +sleep 0.5 +rm -rf /run/httpd/* /tmp/httpd* +intercept /usr/sbin/httpd -D FOREGROUND >>/tmp/apache.out 2>&1 diff --git a/docker-test/httpd/httpd_demo/test.sh b/docker-test/httpd/httpd_demo/test.sh new file mode 100755 index 00000000..38904dcd --- /dev/null +++ b/docker-test/httpd/httpd_demo/test.sh @@ -0,0 +1,37 @@ + +# Docker won't allow the inclusion of files outside of the build directory +cp ../../zerotier-one zerotier-one +cp ../../zerotier-cli zerotier-cli +cp ../../intercept intercept +cp ../../libintercept.so.1.0 libintercept.so.1.0 +cp ../../liblwip.so liblwip.so +cp ../../netcon_identity.public netcon_identity.public +cp ../../netcon_identity.secret netcon_identity.secret +cp ../../monitor_identity.public monitor_identity.public +cp ../../monitor_identity.secret monitor_identity.secret + + +docker build --tag="httpd_demo" -f netcon_dockerfile . +docker build --tag="httpd_demo_monitor" -f monitor_dockerfile . + +rm -f zerotier-one +rm -f zerotier-cli +rm -f intercept +rm -f libintercept.so.1.0 +rm -f liblwip.so +rm -f netcon_identity.public +rm -f netcon_identity.secret +rm -f monitor_identity.public +rm -f monitor_identity.secret + +# Start netcon container to be tested +docker run -d -it -v $PWD/../../_results:/opt/results --device=/dev/net/tun httpd_demo:latest +#./start_monitor.sh +docker run -d -it -v $PWD/../../_results:/opt/results --device=/dev/net/tun httpd_demo_monitor:latest + +sleep 45s +docker kill $(docker ps -a -q) +#docker ps -a -q --filter="name=httpd_demo" +#docker ps -a -q --filter="name=httpd_demo_monitor" + +#rm -rf ../../_tmp/*.txt
\ No newline at end of file diff --git a/docker-test/httpd_demo/Dockerfile b/docker-test/httpd_demo/Dockerfile deleted file mode 100644 index 6e1e5a78..00000000 --- a/docker-test/httpd_demo/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -# A basic harnessed application example using ZeroTier-One and user-space IP stack -FROM fedora:23 -MAINTAINER https://www.zerotier.com/ - -# Install Apache -RUN yum -y update && yum clean all -RUN yum -y install httpd && yum clean all - -# Add files -ADD htdocs/index.html / -ADD htdocs/ZeroTierIcon.png / - - - -# Install sys-call intercept library -ADD zerotier-one / -ADD zerotier-cli / -ADD intercept / -ADD libintercept.so.1.0 / -ADD liblwip.so / -RUN cp liblwip.so lib/liblwip.so -RUN cp libintercept.so.1.0 /lib/libintercept.so.1.0 -RUN ln -sf /lib/libintercept.so.1.0 /lib/libintercept -RUN /usr/bin/install -c intercept /usr/bin - - -RUN echo "Apache" >> /var/www/html/index.html -EXPOSE 9993/udp -RUN mv index.html /var/www/html/index.html -RUN mv ZeroTierIcon.png /var/www/html/ZeroTierIcon.png - -# Start ZeroTier-One -RUN mkdir -p /var/lib/zerotier-one/networks.d -RUN touch /var/lib/zerotier-one/networks.d/8056c2e21c000001.conf -ADD entrypoint.sh /entrypoint.sh -RUN chmod -v +x /entrypoint.sh -CMD ["./entrypoint.sh"] diff --git a/docker-test/httpd_demo/build.sh b/docker-test/httpd_demo/build.sh deleted file mode 100755 index a651fc1c..00000000 --- a/docker-test/httpd_demo/build.sh +++ /dev/null @@ -1,18 +0,0 @@ -cd ../../ -make clean -make -cd netcon -make -f make-intercept.mk lib -rm *.o -rm liblwip.so -make -f make-liblwip.mk - -cd ../docker-test/httpd_demo - -cp ../../zerotier-one zerotier-one -cp ../../zerotier-cli zerotier-cli - -cp ../../netcon/liblwip.so liblwip.so -cp ../../netcon/libintercept.so.1.0 libintercept.so.1.0 -cp ../../netcon/intercept intercept - diff --git a/docker-test/httpd_demo/entrypoint.sh b/docker-test/httpd_demo/entrypoint.sh deleted file mode 100644 index 6cb6e199..00000000 --- a/docker-test/httpd_demo/entrypoint.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/ - -touch /opt/results/results.txt - -echo '***' -echo '*** ZeroTier Network Containers Preview' -echo '*** https://www.zerotier.com/' -echo '***' -echo '*** Starting ZeroTier network container host...' - -chown -R daemon /var/lib/zerotier-one -chgrp -R daemon /var/lib/zerotier-one -su daemon -s /bin/bash -c '/zerotier-one -d -U -p9993 >>/tmp/zerotier-one.out 2>&1' -#/zerotier-one -d -U -p9993 >>/tmp/zerotier-one.out 2>&1 - -echo '*** Waiting for initial identity generation...' - -while [ ! -s /var/lib/zerotier-one/identity.secret ]; do - sleep 0.2 -done - -echo '*** Waiting for network config...' - -virtip4="" -while [ ! -s /var/lib/zerotier-one/networks.d/8056c2e21c000001.conf ]; do - sleep 0.2 -done -while [ -z "$virtip4" ]; do - sleep 0.2 - virtip4=`/zerotier-cli listnetworks | grep -F 8056c2e21c000001 | cut -d ' ' -f 9 | sed 's/,/\n/g' | grep -F '.' | cut -d / -f 1` -done - -echo '*** Starting Apache...' - -echo '***' -echo '*** Up and running at' $virtip4 '-- join network 8056c2e21c000001 and try:' -echo '*** > ping' $virtip4 -echo -n '*** > curl http://' -echo -n $virtip4 -echo '/' -echo '***' -echo "*** Be (a little) patient. It'll probably take 1-2 minutes to be reachable." -echo '***' -echo '*** Follow https://www.zerotier.com/blog for news and release announcements!' -echo '***' - -#while /bin/true; do -# sleep 1000000 -#done - -sleep 0.5 -rm -rf /run/httpd/* /tmp/httpd* -intercept /usr/sbin/httpd -D FOREGROUND >>/tmp/apache.out 2>&1 diff --git a/docker-test/httpd_demo/httpd.conf b/docker-test/httpd_demo/httpd.conf deleted file mode 100644 index 5f6f7107..00000000 --- a/docker-test/httpd_demo/httpd.conf +++ /dev/null @@ -1,358 +0,0 @@ -# -# This is the main Apache HTTP server configuration file. It contains the -# configuration directives that give the server its instructions. -# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information. -# In particular, see -# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html> -# for a discussion of each configuration directive. -# -# Do NOT simply read the instructions in here without understanding -# what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. -# -# Configuration and logfile names: If the filenames you specify for many -# of the server's control files begin with "/" (or "drive:/" for Win32), the -# server will use that explicit path. If the filenames do *not* begin -# with "/", the value of ServerRoot is prepended -- so 'log/access_log' -# with ServerRoot set to '/www' will be interpreted by the -# server as '/www/log/access_log', where as '/log/access_log' will be -# interpreted as '/log/access_log'. - -# -# ServerRoot: The top of the directory tree under which the server's -# configuration, error, and log files are kept. -# -# Do not add a slash at the end of the directory path. If you point -# ServerRoot at a non-local disk, be sure to specify a local disk on the -# Mutex directive, if file-based mutexes are used. If you wish to share the -# same ServerRoot for multiple httpd daemons, you will need to change at -# least PidFile. -# -ServerRoot "/etc/httpd" - -# -# Listen: Allows you to bind Apache to specific IP addresses and/or -# ports, instead of the default. See also the <VirtualHost> -# directive. -# -# Change this to Listen on specific IP addresses as shown below to -# prevent Apache from glomming onto all bound IP addresses. -# -Listen 172.30.238.26:80 - -KeepAlive off - - - - -# -# Dynamic Shared Object (DSO) Support -# -# To be able to use the functionality of a module which was built as a DSO you -# have to place corresponding `LoadModule' lines at this location so the -# directives contained in it are actually available _before_ they are used. -# Statically compiled modules (those listed by `httpd -l') do not need -# to be loaded here. -# -# Example: -# LoadModule foo_module modules/mod_foo.so -#LoadModule mpm_worker_module /usr/lib64/httpd/modules/worker.so -# -Include conf.modules.d/*.conf - -# -# If you wish httpd to run as a different user or group, you must run -# httpd as root initially and it will switch. -# -# User/Group: The name (or #number) of the user/group to run httpd as. -# It is usually good practice to create a dedicated user and group for -# running httpd, as with most system services. -# -User apache -Group apache - -# 'Main' server configuration -# -# The directives in this section set up the values used by the 'main' -# server, which responds to any requests that aren't handled by a -# <VirtualHost> definition. These values also provide defaults for -# any <VirtualHost> containers you may define later in the file. -# -# All of these directives may appear inside <VirtualHost> containers, -# in which case these default settings will be overridden for the -# virtual host being defined. -# - -# -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. This address appears on some server-generated pages, such -# as error documents. e.g. admin@your-domain.com -# -ServerAdmin root@localhost - -# -# ServerName gives the name and port that the server uses to identify itself. -# This can often be determined automatically, but we recommend you specify -# it explicitly to prevent problems during startup. -# -# If your host doesn't have a registered DNS name, enter its IP address here. -# -#ServerName www.example.com:80 - -# -# Deny access to the entirety of your server's filesystem. You must -# explicitly permit access to web content directories in other -# <Directory> blocks below. -# -<Directory /> - AllowOverride none - Require all denied -</Directory> - -# -# Note that from this point forward you must specifically allow -# particular features to be enabled - so if something's not working as -# you might expect, make sure that you have specifically enabled it -# below. -# - -# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -DocumentRoot "/var/www/html" - -# -# Relax access to content within /var/www. -# -<Directory "/var/www"> - AllowOverride None - # Allow open access: - Require all granted -</Directory> - -# Further relax access to the default document root: -<Directory "/var/www/html"> - # - # Possible values for the Options directive are "None", "All", - # or any combination of: - # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews - # - # Note that "MultiViews" must be named *explicitly* --- "Options All" - # doesn't give it to you. - # - # The Options directive is both complicated and important. Please see - # http://httpd.apache.org/docs/2.4/mod/core.html#options - # for more information. - # - Options Indexes FollowSymLinks - - # - # AllowOverride controls what directives may be placed in .htaccess files. - # It can be "All", "None", or any combination of the keywords: - # Options FileInfo AuthConfig Limit - # - AllowOverride None - - # - # Controls who can get stuff from this server. - # - Require all granted -</Directory> - -# -# DirectoryIndex: sets the file that Apache will serve if a directory -# is requested. -# -<IfModule dir_module> - DirectoryIndex index.html -</IfModule> - -# -# The following lines prevent .htaccess and .htpasswd files from being -# viewed by Web clients. -# -<Files ".ht*"> - Require all denied -</Files> - -# -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a <VirtualHost> -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a <VirtualHost> -# container, that host's errors will be logged there and not here. -# -ErrorLog "logs/error_log" - -# -# LogLevel: Control the number of messages logged to the error_log. -# Possible values include: debug, info, notice, warn, error, crit, -# alert, emerg. -# -LogLevel warn - -<IfModule log_config_module> - # - # The following directives define some format nicknames for use with - # a CustomLog directive (see below). - # - LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined - LogFormat "%h %l %u %t \"%r\" %>s %b" common - - <IfModule logio_module> - # You need to enable mod_logio.c to use %I and %O - LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio - </IfModule> - - # - # The location and format of the access logfile (Common Logfile Format). - # If you do not define any access logfiles within a <VirtualHost> - # container, they will be logged here. Contrariwise, if you *do* - # define per-<VirtualHost> access logfiles, transactions will be - # logged therein and *not* in this file. - # - #CustomLog "logs/access_log" common - - # - # If you prefer a logfile with access, agent, and referer information - # (Combined Logfile Format) you can use the following directive. - # - CustomLog "logs/access_log" combined -</IfModule> - -<IfModule alias_module> - # - # Redirect: Allows you to tell clients about documents that used to - # exist in your server's namespace, but do not anymore. The client - # will make a new request for the document at its new location. - # Example: - # Redirect permanent /foo http://www.example.com/bar - - # - # Alias: Maps web paths into filesystem paths and is used to - # access content that does not live under the DocumentRoot. - # Example: - # Alias /webpath /full/filesystem/path - # - # If you include a trailing / on /webpath then the server will - # require it to be present in the URL. You will also likely - # need to provide a <Directory> section to allow access to - # the filesystem path. - - # - # ScriptAlias: This controls which directories contain server scripts. - # ScriptAliases are essentially the same as Aliases, except that - # documents in the target directory are treated as applications and - # run by the server when requested rather than as documents sent to the - # client. The same rules about trailing "/" apply to ScriptAlias - # directives as to Alias. - # - ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" - -</IfModule> - -# -# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased -# CGI directory exists, if you have that configured. -# -<Directory "/var/www/cgi-bin"> - AllowOverride None - Options None - Require all granted -</Directory> - -<IfModule mime_module> - # - # TypesConfig points to the file containing the list of mappings from - # filename extension to MIME-type. - # - TypesConfig /etc/mime.types - - # - # AddType allows you to add to or override the MIME configuration - # file specified in TypesConfig for specific file types. - # - #AddType application/x-gzip .tgz - # - # AddEncoding allows you to have certain browsers uncompress - # information on the fly. Note: Not all browsers support this. - # - #AddEncoding x-compress .Z - #AddEncoding x-gzip .gz .tgz - # - # If the AddEncoding directives above are commented-out, then you - # probably should define those extensions to indicate media types: - # - AddType application/x-compress .Z - AddType application/x-gzip .gz .tgz - - # - # AddHandler allows you to map certain file extensions to "handlers": - # actions unrelated to filetype. These can be either built into the server - # or added with the Action directive (see below) - # - # To use CGI scripts outside of ScriptAliased directories: - # (You will also need to add "ExecCGI" to the "Options" directive.) - # - #AddHandler cgi-script .cgi - - # For type maps (negotiated resources): - #AddHandler type-map var - - # - # Filters allow you to process content before it is sent to the client. - # - # To parse .shtml files for server-side includes (SSI): - # (You will also need to add "Includes" to the "Options" directive.) - # - AddType text/html .shtml - AddOutputFilter INCLUDES .shtml -</IfModule> - -# -# Specify a default charset for all content served; this enables -# interpretation of all content as UTF-8 by default. To use the -# default browser choice (ISO-8859-1), or to allow the META tags -# in HTML content to override this choice, comment out this -# directive: -# -AddDefaultCharset UTF-8 - -<IfModule mime_magic_module> - # - # The mod_mime_magic module allows the server to use various hints from the - # contents of the file itself to determine its type. The MIMEMagicFile - # directive tells the module where the hint definitions are located. - # - MIMEMagicFile conf/magic -</IfModule> - -# -# Customizable error responses come in three flavors: -# 1) plain text 2) local redirects 3) external redirects -# -# Some examples: -#ErrorDocument 500 "The server made a boo boo." -#ErrorDocument 404 /missing.html -#ErrorDocument 404 "/cgi-bin/missing_handler.pl" -#ErrorDocument 402 http://www.example.com/subscription_info.html -# - -# -# EnableMMAP and EnableSendfile: On systems that support it, -# memory-mapping or the sendfile syscall may be used to deliver -# files. This usually improves server performance, but must -# be turned off when serving from networked-mounted -# filesystems or if support for these functions is otherwise -# broken on your system. -# Defaults if commented: EnableMMAP On, EnableSendfile Off -# -#EnableMMAP off -EnableSendfile on - -# Supplemental configuration -# -# Load config files in the "/etc/httpd/conf.d" directory, if any. -IncludeOptional conf.d/*.conf diff --git a/docker-test/httpd_demo/test.sh b/docker-test/httpd_demo/test.sh deleted file mode 100755 index ad78f9b1..00000000 --- a/docker-test/httpd_demo/test.sh +++ /dev/null @@ -1,2 +0,0 @@ -docker build --tag="throughput_httpd_2.4.6" . -docker run -it -v $PWD/../_results:/opt/results --device=/dev/net/tun throughput_httpd_2.4.6:latest diff --git a/docker-test/httpd_demo/intercept b/docker-test/intercept index 3eb27ff7..3eb27ff7 100755 --- a/docker-test/httpd_demo/intercept +++ b/docker-test/intercept diff --git a/docker-test/libintercept.so.1.0 b/docker-test/libintercept.so.1.0 Binary files differnew file mode 100755 index 00000000..163b1ac2 --- /dev/null +++ b/docker-test/libintercept.so.1.0 diff --git a/docker-test/liblwip.so b/docker-test/liblwip.so Binary files differnew file mode 100755 index 00000000..158169f1 --- /dev/null +++ b/docker-test/liblwip.so diff --git a/docker-test/monitor_identity.public b/docker-test/monitor_identity.public new file mode 100644 index 00000000..36b8ec69 --- /dev/null +++ b/docker-test/monitor_identity.public @@ -0,0 +1 @@ +ba2488cd53:0:a8bd3d0febd1da023b11382f45df6d246be9407ac62dc32c0c60aa2b96d3df15aa303a0eb28297916f7bcdbcd73a960f404a202f336cd35103d837bce1fb896f
\ No newline at end of file diff --git a/docker-test/monitor_identity.secret b/docker-test/monitor_identity.secret new file mode 100644 index 00000000..6f06053e --- /dev/null +++ b/docker-test/monitor_identity.secret @@ -0,0 +1 @@ +ba2488cd53:0:a8bd3d0febd1da023b11382f45df6d246be9407ac62dc32c0c60aa2b96d3df15aa303a0eb28297916f7bcdbcd73a960f404a202f336cd35103d837bce1fb896f:07d0caef50f3c94897035a954cdc73dc391f77a267caa54d52d4841edbec24388d601d27522d415a943764f9c91b7870754c08b4e04780b29c7c69edade2f638
\ No newline at end of file diff --git a/docker-test/netcon_identity.public b/docker-test/netcon_identity.public new file mode 100644 index 00000000..7ee33756 --- /dev/null +++ b/docker-test/netcon_identity.public @@ -0,0 +1 @@ +e5b0e7dc2a:0:f257ee08ad335ef87caf30598a5a17a758f193da58085b7b471c9cc48413585cba5e7830c23508907a2f991308a7ddc01912023cc454a7de80cdad68edebcc63
\ No newline at end of file diff --git a/docker-test/netcon_identity.secret b/docker-test/netcon_identity.secret new file mode 100644 index 00000000..05c10132 --- /dev/null +++ b/docker-test/netcon_identity.secret @@ -0,0 +1 @@ +e5b0e7dc2a:0:f257ee08ad335ef87caf30598a5a17a758f193da58085b7b471c9cc48413585cba5e7830c23508907a2f991308a7ddc01912023cc454a7de80cdad68edebcc63:21e5f68984b729acdaedd6c4c057d0a5447cefa66ec5de8d10982f77efc148e65ce954ee17604716398a91ab74563b0b25263f84b45cecd97fa1bc35d1ef2bd7
\ No newline at end of file diff --git a/docker-test/redis-3.0.4-1.fc23.x86_64/build.sh b/docker-test/redis-3.0.4-1.fc23.x86_64/build.sh deleted file mode 100755 index d1c8b5c6..00000000 --- a/docker-test/redis-3.0.4-1.fc23.x86_64/build.sh +++ /dev/null @@ -1,18 +0,0 @@ -cd ../../ -make clean -make -cd netcon -make -f make-intercept.mk lib -rm *.o -rm liblwip.so -make -f make-liblwip.mk - -cd ../docker-test/redis-3.0.4-1.fc23.x86_64 - -cp ../../zerotier-one zerotier-one -cp ../../zerotier-cli zerotier-cli - -cp ../../netcon/liblwip.so liblwip.so -cp ../../netcon/libintercept.so.1.0 libintercept.so.1.0 -cp ../../netcon/intercept intercept - diff --git a/docker-test/redis/._.DS_Store b/docker-test/redis/._.DS_Store Binary files differnew file mode 100644 index 00000000..85f5a655 --- /dev/null +++ b/docker-test/redis/._.DS_Store diff --git a/docker-test/redis-3.0.4-1.fc23.x86_64/Dockerfile b/docker-test/redis/redis-3.0.4-1.fc23.x86_64/Dockerfile index 77a1a26a..77a1a26a 100644 --- a/docker-test/redis-3.0.4-1.fc23.x86_64/Dockerfile +++ b/docker-test/redis/redis-3.0.4-1.fc23.x86_64/Dockerfile diff --git a/docker-test/redis-3.0.4-1.fc23.x86_64/entrypoint.sh b/docker-test/redis/redis-3.0.4-1.fc23.x86_64/entrypoint.sh index 00fdd2be..00fdd2be 100644 --- a/docker-test/redis-3.0.4-1.fc23.x86_64/entrypoint.sh +++ b/docker-test/redis/redis-3.0.4-1.fc23.x86_64/entrypoint.sh diff --git a/docker-test/redis-3.0.4-1.fc23.x86_64/generate_file.sh b/docker-test/redis/redis-3.0.4-1.fc23.x86_64/generate_file.sh index ac5b2433..ac5b2433 100644 --- a/docker-test/redis-3.0.4-1.fc23.x86_64/generate_file.sh +++ b/docker-test/redis/redis-3.0.4-1.fc23.x86_64/generate_file.sh diff --git a/docker-test/test.sh b/docker-test/test.sh index aa081860..9b28d5b5 100755 --- a/docker-test/test.sh +++ b/docker-test/test.sh @@ -1,2 +1,2 @@ -/httpd_demo/test.sh -/throughput_httpd.2.4.6/test.sh +/httpd/httpd_demo/test.sh +/httpd/throughput_httpd.2.4.6/test.sh diff --git a/docker-test/throughput_httpd_2.4.16/build.sh b/docker-test/throughput_httpd_2.4.16/build.sh deleted file mode 100755 index 2925035a..00000000 --- a/docker-test/throughput_httpd_2.4.16/build.sh +++ /dev/null @@ -1,17 +0,0 @@ -cd ../../ -make clean -make -cd netcon -make -f make-intercept.mk lib -rm *.o -rm liblwip.so -make -f make-liblwip.mk - -cd ../docker-test/throughput_httpd_2.4.16 - -cp ../../zerotier-one zerotier-one -cp ../../zerotier-cli zerotier-cli - -cp ../../netcon/liblwip.so liblwip.so -cp ../../netcon/libintercept.so.1.0 libintercept.so.1.0 -cp ../../netcon/intercept intercept diff --git a/docker-test/throughput_httpd_2.4.16/entrypoint.sh b/docker-test/throughput_httpd_2.4.16/entrypoint.sh deleted file mode 100644 index 00fdd2be..00000000 --- a/docker-test/throughput_httpd_2.4.16/entrypoint.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/ - -echo '***' -echo '*** ZeroTier Network Containers Test Image' -echo '*** https://www.zerotier.com/' -echo '***' - -./zerotier-one & -./zerotier-cli join e5cd7a9e1c5311ab -./zerotier-cli listnetworks - - diff --git a/docker-test/throughput_httpd_2.4.16/generate_file.sh b/docker-test/throughput_httpd_2.4.16/generate_file.sh deleted file mode 100644 index ac5b2433..00000000 --- a/docker-test/throughput_httpd_2.4.16/generate_file.sh +++ /dev/null @@ -1 +0,0 @@ -dd if=/dev/urandom of=/var/www/html/big bs=100M count=1 diff --git a/docker-test/throughput_httpd_2.4.17/build.sh b/docker-test/throughput_httpd_2.4.17/build.sh deleted file mode 100755 index adbbdcbe..00000000 --- a/docker-test/throughput_httpd_2.4.17/build.sh +++ /dev/null @@ -1,18 +0,0 @@ -cd ../../ -make clean -make -cd netcon -make -f make-intercept.mk lib -rm *.o -rm liblwip.so -make -f make-liblwip.mk - -cd ../docker-test/throughput_httpd_2.4.17 - -cp ../../zerotier-one zerotier-one -cp ../../zerotier-cli zerotier-cli - -cp ../../netcon/liblwip.so liblwip.so -cp ../../netcon/libintercept.so.1.0 libintercept.so.1.0 -cp ../../netcon/intercept intercept - diff --git a/docker-test/throughput_httpd_2.4.17/entrypoint.sh b/docker-test/throughput_httpd_2.4.17/entrypoint.sh deleted file mode 100644 index 00fdd2be..00000000 --- a/docker-test/throughput_httpd_2.4.17/entrypoint.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/ - -echo '***' -echo '*** ZeroTier Network Containers Test Image' -echo '*** https://www.zerotier.com/' -echo '***' - -./zerotier-one & -./zerotier-cli join e5cd7a9e1c5311ab -./zerotier-cli listnetworks - - diff --git a/docker-test/throughput_httpd_2.4.17/generate_file.sh b/docker-test/throughput_httpd_2.4.17/generate_file.sh deleted file mode 100644 index ac5b2433..00000000 --- a/docker-test/throughput_httpd_2.4.17/generate_file.sh +++ /dev/null @@ -1 +0,0 @@ -dd if=/dev/urandom of=/var/www/html/big bs=100M count=1 diff --git a/docker-test/throughput_httpd_2.4.6/Dockerfile b/docker-test/throughput_httpd_2.4.6/Dockerfile deleted file mode 100644 index 9ce81551..00000000 --- a/docker-test/throughput_httpd_2.4.6/Dockerfile +++ /dev/null @@ -1,40 +0,0 @@ -# ZT Netcon Throughput test -FROM centos:7 -MAINTAINER https://www.zerotier.com/ - -# Install apps -RUN yum -y update -RUN yum -y install httpd-2.4.17-3.fc23 -RUN yum -y install nano -RUN yum -y install strace -RUN yum clean all - -EXPOSE 9993/udp 9992/udp 9991/udp 9990/udp - -# Install sys-call intercept library -ADD intercept / -ADD libintercept.so.1.0 / -RUN cp libintercept.so.1.0 lib/libintercept.so.1.0 -RUN cp libintercept.so.1.0 /lib/libintercept.so.1.0 -RUN ln -sf /lib/libintercept.so.1.0 /lib/libintercept -RUN /usr/bin/install -c intercept /usr/bin - -# Add ZT files -RUN mkdir -p /var/lib/zerotier-one/networks.d -RUN touch /var/lib/zerotier-one/networks.d/e5cd7a9e1c5311ab.conf -ADD zerotier-one / -ADD zerotier-cli / - -# Install test-setup scripts -ADD generate_file.sh /generate_file.sh -RUN chmod -v +x /generate_file.sh -ADD entrypoint.sh /entrypoint.sh -RUN chmod -v +x /entrypoint.sh - -# Install LWIP library used by service -ADD liblwip.so / -RUN mkdir -p ext/bin/lwip -RUN cp liblwip.so ext/bin/lwip/liblwip.so - -# Start ZeroTier-One -CMD ["./entrypoint.sh"] diff --git a/docker-test/throughput_httpd_2.4.6/build.sh b/docker-test/throughput_httpd_2.4.6/build.sh deleted file mode 100755 index 360b7c42..00000000 --- a/docker-test/throughput_httpd_2.4.6/build.sh +++ /dev/null @@ -1,18 +0,0 @@ -cd ../../ -make clean -make -cd netcon -make -f make-intercept.mk lib -rm *.o -rm liblwip.so -make -f make-liblwip.mk - -cd ../docker-test/throughput_httpd_2.4.6 - -cp ../../zerotier-one zerotier-one -cp ../../zerotier-cli zerotier-cli - -cp ../../netcon/liblwip.so liblwip.so -cp ../../netcon/libintercept.so.1.0 libintercept.so.1.0 -cp ../../netcon/intercept intercept - diff --git a/docker-test/throughput_httpd_2.4.6/entrypoint.sh b/docker-test/throughput_httpd_2.4.6/entrypoint.sh deleted file mode 100644 index 27f28717..00000000 --- a/docker-test/throughput_httpd_2.4.6/entrypoint.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -touch /opt/results/results.txt - -export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/ - -echo '***' -echo '*** ZeroTier Network Containers Test Image' -echo '*** https://www.zerotier.com/' -echo '***' - -./zerotier-one & -./zerotier-cli join e5cd7a9e1c5311ab -./zerotier-cli listnetworks - - diff --git a/docker-test/throughput_httpd_2.4.6/generate_file.sh b/docker-test/throughput_httpd_2.4.6/generate_file.sh deleted file mode 100644 index ac5b2433..00000000 --- a/docker-test/throughput_httpd_2.4.6/generate_file.sh +++ /dev/null @@ -1 +0,0 @@ -dd if=/dev/urandom of=/var/www/html/big bs=100M count=1 diff --git a/docker-test/throughput_httpd_2.4.6/intercept b/docker-test/throughput_httpd_2.4.6/intercept deleted file mode 100755 index 3eb27ff7..00000000 --- a/docker-test/throughput_httpd_2.4.6/intercept +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# usage: -# /usr/bin/intercept program <args> - -if [ $# = 0 ] ; then - echo "$0: insufficient arguments" - exit -fi - -case "$1" in - on) - if [ -z "$LD_PRELOAD" ] - then - export LD_PRELOAD="/lib/libintercept.so.1.0" - else - echo $LD_PRELOAD | grep -q "/lib/libintercept\.so.1.0" || \ - export LD_PRELOAD="/lib/libintercept.so $LD_PRELOAD" - fi - ;; - off) - export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's/\/lib\/libintercept.so.1.0 \?//'` - if [ -z "$LD_PRELOAD" ] - then - unset LD_PRELOAD - fi - ;; - show|sh) - echo "LD_PRELOAD=\"$LD_PRELOAD\"" - ;; - -h|-?) - echo "" - ;; - *) - if [ -z "$LD_PRELOAD" ] - then - export LD_PRELOAD="/lib/libintercept.so.1.0" - else - echo $LD_PRELOAD | grep -q "/lib/libintercept\.so.1.0" || \ - export LD_PRELOAD="/lib/libintercept.so.1.0 $LD_PRELOAD" - fi - - if [ $# = 0 ] - then - ${SHELL:-/bin/sh} - fi - - if [ $# -gt 0 ] - then - exec "$@" - fi - ;; -esac - -#EOF diff --git a/docker-test/throughput_httpd_2.4.6/test.sh b/docker-test/throughput_httpd_2.4.6/test.sh deleted file mode 100755 index ad78f9b1..00000000 --- a/docker-test/throughput_httpd_2.4.6/test.sh +++ /dev/null @@ -1,2 +0,0 @@ -docker build --tag="throughput_httpd_2.4.6" . -docker run -it -v $PWD/../_results:/opt/results --device=/dev/net/tun throughput_httpd_2.4.6:latest diff --git a/docker-test/zerotier-cli b/docker-test/zerotier-cli Binary files differnew file mode 100755 index 00000000..ff17df84 --- /dev/null +++ b/docker-test/zerotier-cli diff --git a/docker-test/zerotier-one b/docker-test/zerotier-one Binary files differnew file mode 100755 index 00000000..ff17df84 --- /dev/null +++ b/docker-test/zerotier-one diff --git a/netcon/libintercept.so.1.0 b/netcon/libintercept.so.1.0 Binary files differnew file mode 100755 index 00000000..163b1ac2 --- /dev/null +++ b/netcon/libintercept.so.1.0 diff --git a/netcon/liblwip.so b/netcon/liblwip.so Binary files differnew file mode 100755 index 00000000..158169f1 --- /dev/null +++ b/netcon/liblwip.so diff --git a/netcon/zerotier-cli b/netcon/zerotier-cli Binary files differnew file mode 100755 index 00000000..ff17df84 --- /dev/null +++ b/netcon/zerotier-cli diff --git a/netcon/zerotier-one b/netcon/zerotier-one Binary files differnew file mode 100755 index 00000000..ff17df84 --- /dev/null +++ b/netcon/zerotier-one |