From 1cae7327aeabeb4546a302c00985fb9413b63443 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 28 Oct 2015 13:35:52 -0700 Subject: Basic Dockerfile for building test agents. --- tests/http/Dockerfile | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tests/http/Dockerfile (limited to 'tests/http/Dockerfile') diff --git a/tests/http/Dockerfile b/tests/http/Dockerfile new file mode 100644 index 00000000..02578cd5 --- /dev/null +++ b/tests/http/Dockerfile @@ -0,0 +1,23 @@ +FROM centos:latest + +MAINTAINER https://www.zerotier.com/ + +EXPOSE 9993/udp + +RUN yum -y update && yum -y install epel-release && yum -y install nodejs npm && yum clean all + +RUN mkdir -p /var/lib/zerotier-one +RUN mkdir -p /var/lib/zerotier-one/networks.d +RUN touch /var/lib/zerotier-one/networks.d/ffffffffffffffff.conf + +ADD package.json / +RUN npm install + +ADD zerotier-one / +RUN chmod a+x /zerotier-one + +ADD agent.js / +ADD main.sh / +RUN chmod a+x /docker-main.sh + +CMD ["./docker-main.sh"] -- cgit v1.2.3 From 07c1b4ddee1b6ba1a4399dc62c8e3c6f5367afa0 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 28 Oct 2015 14:16:58 -0700 Subject: test stuff --- tests/http/Dockerfile | 2 +- tests/http/agent.js | 148 ++++++++++++++++++++++------------------------ tests/http/docker-main.sh | 7 ++- tests/http/server.js | 6 +- 4 files changed, 83 insertions(+), 80 deletions(-) mode change 100644 => 100755 tests/http/docker-main.sh (limited to 'tests/http/Dockerfile') diff --git a/tests/http/Dockerfile b/tests/http/Dockerfile index 02578cd5..7bba2fc0 100644 --- a/tests/http/Dockerfile +++ b/tests/http/Dockerfile @@ -17,7 +17,7 @@ ADD zerotier-one / RUN chmod a+x /zerotier-one ADD agent.js / -ADD main.sh / +ADD docker-main.sh / RUN chmod a+x /docker-main.sh CMD ["./docker-main.sh"] diff --git a/tests/http/agent.js b/tests/http/agent.js index 34837411..465a2e28 100644 --- a/tests/http/agent.js +++ b/tests/http/agent.js @@ -1,14 +1,13 @@ // --------------------------------------------------------------------------- // Customizable parameters: -// How frequently in ms to run tests -//var RUN_TEST_EVERY = (60 * 5 * 1000); -var RUN_TEST_EVERY = 1000; +// Maximum test duration in milliseconds +var TEST_DURATION = (30 * 1000); -// Maximum test duration in milliseconds (must be less than RUN_TEST_EVERY) -var TEST_DURATION = (60 * 1000); +// Interval between tests (should be several times longer than TEST_DURATION) +var TEST_INTERVAL = (60 * 2 * 1000); -// Where should I contact to register and query a list of other nodes? +// Where should I contact to register and query a list of other test agents? var SERVER_HOST = '174.136.102.178'; var SERVER_PORT = 18080; @@ -71,8 +70,29 @@ for(var xx=0;xx>agent.out 2>&1 diff --git a/tests/http/server.js b/tests/http/server.js index a58756bc..6211b4ee 100644 --- a/tests/http/server.js +++ b/tests/http/server.js @@ -26,7 +26,8 @@ app.get('/:agentId',function(req,res) { return res.status(200).send(JSON.stringify(Object.keys(knownAgents))); }); -app.post('/:agentId',function(req,res) { +app.post('/:testNumber/:agentId',function(req,res) { + var testNumber = req.params.testNumber; var agentId = req.params.agentId; if ((!agentId)||(agentId.length !== 32)) return res.status(404).send(''); @@ -40,8 +41,9 @@ app.post('/:agentId',function(req,res) { } result = { agentId: agentId, + testNumber: testNumber, receiveTime: receiveTime, - result: resultData + results: resultData }; var nows = receiveTime.toString(16); -- cgit v1.2.3 From 1f5ef968cff51721d97587cb1c5402c988c92d5e Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 28 Oct 2015 15:08:00 -0700 Subject: Test need a more recent version of NodeJS so update Dockerfile. --- tests/http/Dockerfile | 3 ++- tests/http/agent.js | 2 +- tests/http/docker-main.sh | 3 +++ tests/http/nodesource-el.repo | 6 ++++++ 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 tests/http/nodesource-el.repo (limited to 'tests/http/Dockerfile') diff --git a/tests/http/Dockerfile b/tests/http/Dockerfile index 7bba2fc0..e19b3fee 100644 --- a/tests/http/Dockerfile +++ b/tests/http/Dockerfile @@ -4,7 +4,8 @@ MAINTAINER https://www.zerotier.com/ EXPOSE 9993/udp -RUN yum -y update && yum -y install epel-release && yum -y install nodejs npm && yum clean all +ADD nodesource-el.repo /etc/yum.repos.d/nodesource-el.repo +RUN yum -y update && yum install -y nodejs && yum clean all RUN mkdir -p /var/lib/zerotier-one RUN mkdir -p /var/lib/zerotier-one/networks.d diff --git a/tests/http/agent.js b/tests/http/agent.js index 061c7ba7..8b1cf512 100644 --- a/tests/http/agent.js +++ b/tests/http/agent.js @@ -211,7 +211,7 @@ app.get('/',function(req,res) { return res.status(200).send(payload); }); -var expressServer = app.listen(AGENT_PORT,agentIdToIp(thisAgentId),function () { +var expressServer = app.listen(AGENT_PORT,function () { registerAndGetPeers(function(err,peers) { if (err) { console.error('FATAL: unable to contact or query server: '+err.toString()); diff --git a/tests/http/docker-main.sh b/tests/http/docker-main.sh index ad80af0c..72023668 100755 --- a/tests/http/docker-main.sh +++ b/tests/http/docker-main.sh @@ -8,4 +8,7 @@ while [ ! -d "/proc/sys/net/ipv6/conf/zt0" ]; do sleep 0.25 done +sleep 2 + exec node --harmony /agent.js >>agent.out 2>&1 +#exec node --harmony /agent.js diff --git a/tests/http/nodesource-el.repo b/tests/http/nodesource-el.repo new file mode 100644 index 00000000..b785d3d0 --- /dev/null +++ b/tests/http/nodesource-el.repo @@ -0,0 +1,6 @@ +[nodesource] +name=Node.js Packages for Enterprise Linux 7 - $basearch +baseurl=https://rpm.nodesource.com/pub_4.x/el/7/$basearch +failovermethod=priority +enabled=1 +gpgcheck=0 -- cgit v1.2.3