docker test update

This commit is contained in:
Joseph Henry
2016-07-07 13:21:50 -05:00
parent 196b487d95
commit 41308ccf06
8 changed files with 10 additions and 10 deletions

View File

@@ -5,7 +5,7 @@ Welcome!
Imagine a flat, encrypted, no-configuration LAN for all of your Docker containers.
This short tutorial will show you how to enable ZeroTier functionality for your Docker software container with little to no configuration. In this example we aim to build a Docker container with ZeroTiers Network Container service bundled right in so that its effortless to hook any number of your services in the container up to your virtual network.
This short tutorial will show you how to enable ZeroTier functionality for your Docker software container with little to no configuration. In this example we aim to build a Docker container with ZeroTiers SDK service bundled right in so that its effortless to hook any number of your services in the container up to your virtual network.
**Step 1: Build the ZeroTier service binaries**

View File

@@ -0,0 +1 @@
Test: redis-server responded!

View File

@@ -0,0 +1 @@
10.5.5.203

View File

@@ -2,13 +2,12 @@
export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/
# --- Test Parameters ---
test_namefile=$(ls *.name)
test_name="${test_namefile%.*}" # test network id
nwconf=$(ls *.conf) # blank test network config file
nwid="${nwconf%.*}" # test network id
sdk_wait_time=25 # wait for test container to come online
sdk_wait_time=60 # wait for test container to come online
app_timeout_time=15 # 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
@@ -17,7 +16,6 @@ ok=OK. # appended to result file in event of success
tmp_ext=.tmp # temporary filetype used for sharing test data between containers
address_file="$file_path$test_name"_addr"$tmp_ext" # file shared between host and containers for sharing address (optional)
# --- Network Config ---
echo '*** ZeroTier SDK Test Monitor'
chown -R daemon /var/lib/zerotier-one
@@ -34,12 +32,12 @@ echo '*** Sleeping for (' "$sdk_wait_time" 's ) while we wait for the containe
sleep "$sdk_wait_time"s
ncvirtip=$(<$address_file)
# --- Test section ---
echo '*** Running lua script against redis host at' $ncvirtip
redis-cli -h $ncvirtip EVAL "$(cat hello.lua)" 0 > redis_response.txt
response_string=$(<redis_response.txt)
if [[ $response_string == *"welcome to the machine!"* ]]
then
echo 'REDIS RESPONSE OK'

View File

@@ -2,7 +2,6 @@
export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/
# --- Test Parameters ---
test_namefile=$(ls *.name)
test_name="${test_namefile%.*}" # test network id
@@ -13,7 +12,6 @@ file_base="$test_name".txt # test result output file
tmp_ext=.tmp # temporary filetype used for sharing test data between containers
address_file="$file_path$test_name"_addr"$tmp_ext" # file shared between host and containers for sharing address (optional)
# --- Network Config ---
echo '*** ZeroTier SDK Test: ' "$test_name"
chown -R daemon /var/lib/zerotier-one

View File

@@ -4,5 +4,5 @@
test_name=${PWD##*/}
echo 'Starting containers for: ' "$test_name"
touch "$test_name".name
test_container=$(docker run -d -it -v $PWD/_results:/opt/results --device=/dev/net/tun "$test_name":latest)
monitor_container=$(docker run -d -it -v $PWD/_results:/opt/results --device=/dev/net/tun "$test_name"_monitor:latest)
test_container=$(docker run -d -it -v $PWD/_results:/opt/results --privileged --device=/dev/net/tun "$test_name":latest)
monitor_container=$(docker run -d -it -v $PWD/_results:/opt/results --privileged --device=/dev/net/tun "$test_name"_monitor:latest)

View File

@@ -75,12 +75,13 @@ linux_shared_lib: $(OBJS)
# Build liblwip.so which must be placed in ZT home for zerotier-netcon-service to work
make -f make-liblwip.mk $(LWIP_FLAGS)
# Use gcc not clang to build standalone intercept library since gcc is typically used for libc and we want to ensure maximal ABI compatibility
cd src ; gcc $(DEFS) -O2 -Wall -std=c99 -fPIC -DVERBOSE -D_GNU_SOURCE -DSDK_INTERCEPT -I. -I../$(ZT1)/node -nostdlib -shared -o ../$(BUILD)/libztintercept.so SDK_Sockets.c SDK_Intercept.c SDK_Debug.c SDK_RPC.c -ldl
cd src ; gcc $(DEFS) -O2 -Wall -std=c99 -fPIC -DVERBOSE -D_GNU_SOURCE -DSDK_INTERCEPT -I. -I../$(ZT1)/node -nostdlib -shared -o ../$(BUILD)/linux_shared_lib/libztintercept.so SDK_Sockets.c SDK_Intercept.c SDK_Debug.c SDK_RPC.c -ldl
ln -sf zerotier-sdk-service $(BUILD)/zerotier-cli
ln -sf zerotier-sdk-service $(BUILD)/zerotier-idtool
# Build vanilla ZeroTier One binary
one: $(OBJS) $(ZT1)/service/OneService.o $(ZT1)/one.o $(ZT1)/osdep/LinuxEthernetTap.o
mkdir -p $(BUILD)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $(BUILD)/zerotier-one $(OBJS) $(ZT1)/service/OneService.o $(ZT1)/one.o $(ZT1)/osdep/LinuxEthernetTap.o $(LDLIBS)
$(STRIP) $(BUILD)/zerotier-one
cp $(BUILD)/zerotier-one $(INT)/docker/docker_demo/zerotier-one
@@ -88,6 +89,7 @@ one: $(OBJS) $(ZT1)/service/OneService.o $(ZT1)/one.o $(ZT1)/osdep/LinuxEthernet
# Build the docker demo images
docker_demo: one linux_shared_lib
mkdir -p $(BUILD)
# Intercept library
cp $(BUILD)/linux_shared_lib/libztintercept.so $(INT)/docker/docker_demo/libztintercept.so
# SDK service