summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2018-03-15 14:37:02 -0700
committerJoffrey F <joffrey@docker.com>2018-03-15 15:35:35 -0700
commit59dd33672a3e25108b372b948f85e856609bea35 (patch)
tree78e444f74eb51b5a1221d3c5cb5fb04e78e2c4fc
parent02f8d6a5e4f376f65f30895ca2d02b7564d8ad51 (diff)
downloaddocker-py-tests_improvements.tar.gz
Use networks instead of legacy links for test setuptests_improvements
Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r--Jenkinsfile14
-rw-r--r--Makefile36
2 files changed, 30 insertions, 20 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
index c548492..1323f4b 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -9,7 +9,7 @@ def dockerVersions = [
"17.06.2-ce", // Latest EE
"17.12.1-ce", // Latest CE stable
"18.02.0-ce", // Latest CE edge
- "18.03.0-ce-rc1" // Latest CE RC
+ "18.03.0-ce-rc4" // Latest CE RC
]
def buildImage = { name, buildargs, pyTag ->
@@ -64,15 +64,18 @@ def runTests = { Map settings ->
checkout(scm)
def dindContainerName = "dpy-dind-\$BUILD_NUMBER-\$EXECUTOR_NUMBER-${pythonVersion}-${dockerVersion}"
def testContainerName = "dpy-tests-\$BUILD_NUMBER-\$EXECUTOR_NUMBER-${pythonVersion}-${dockerVersion}"
+ def testNetwork = "dpy-testnet-\$BUILD_NUMBER-\$EXECUTOR_NUMBER-${pythonVersion}-${dockerVersion}"
try {
- sh """docker run -d --name ${dindContainerName} -v /tmp --privileged \\
+ sh """docker network create ${testNetwork}"""
+ sh """docker run -d --name ${dindContainerName} -v /tmp --privileged --network ${testNetwork} \\
dockerswarm/dind:${dockerVersion} dockerd -H tcp://0.0.0.0:2375
"""
sh """docker run \\
- --name ${testContainerName} --volumes-from ${dindContainerName} \\
- -e 'DOCKER_HOST=tcp://docker:2375' \\
+ --name ${testContainerName} \\
+ -e "DOCKER_HOST=tcp://${dindContainerName}:2375" \\
-e 'DOCKER_TEST_API_VERSION=${apiVersion}' \\
- --link=${dindContainerName}:docker \\
+ --network ${testNetwork} \\
+ --volumes-from ${dindContainerName} \\
${testImage} \\
py.test -v -rxs tests/integration
"""
@@ -80,6 +83,7 @@ def runTests = { Map settings ->
sh """
docker stop ${dindContainerName} ${testContainerName}
docker rm -vf ${dindContainerName} ${testContainerName}
+ docker network rm ${testNetwork}
"""
}
}
diff --git a/Makefile b/Makefile
index f491993..434d40e 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@ all: test
.PHONY: clean
clean:
- -docker rm -f dpy-dind-py2 dpy-dind-py3
+ -docker rm -f dpy-dind-py2 dpy-dind-py3 dpy-dind-certs dpy-dind-ssl
find -name "__pycache__" | xargs rm -rf
.PHONY: build
@@ -44,41 +44,47 @@ integration-test-py3: build-py3
TEST_API_VERSION ?= 1.35
TEST_ENGINE_VERSION ?= 17.12.0-ce
+.PHONY: setup-network
+setup-network:
+ docker network inspect dpy-tests || docker network create dpy-tests
+
.PHONY: integration-dind
integration-dind: integration-dind-py2 integration-dind-py3
.PHONY: integration-dind-py2
-integration-dind-py2: build
+integration-dind-py2: build setup-network
docker rm -vf dpy-dind-py2 || :
- docker run -d --name dpy-dind-py2 --privileged dockerswarm/dind:${TEST_ENGINE_VERSION} dockerd\
- -H tcp://0.0.0.0:2375 --experimental
- docker run -t --rm --env="DOCKER_HOST=tcp://docker:2375" --env="DOCKER_TEST_API_VERSION=${TEST_API_VERSION}"\
- --link=dpy-dind-py2:docker docker-sdk-python py.test tests/integration
+ docker run -d --network dpy-tests --name dpy-dind-py2 --privileged\
+ dockerswarm/dind:${TEST_ENGINE_VERSION} dockerd -H tcp://0.0.0.0:2375 --experimental
+ docker run -t --rm --env="DOCKER_HOST=tcp://dpy-dind-py2:2375" --env="DOCKER_TEST_API_VERSION=${TEST_API_VERSION}"\
+ --network dpy-tests docker-sdk-python py.test tests/integration
docker rm -vf dpy-dind-py2
.PHONY: integration-dind-py3
-integration-dind-py3: build-py3
+integration-dind-py3: build-py3 setup-network
docker rm -vf dpy-dind-py3 || :
- docker run -d --name dpy-dind-py3 --privileged dockerswarm/dind:${TEST_ENGINE_VERSION} dockerd\
- -H tcp://0.0.0.0:2375 --experimental
- docker run -t --rm --env="DOCKER_HOST=tcp://docker:2375" --env="DOCKER_TEST_API_VERSION=${TEST_API_VERSION}"\
- --link=dpy-dind-py3:docker docker-sdk-python3 py.test tests/integration
+ docker run -d --network dpy-tests --name dpy-dind-py3 --privileged\
+ dockerswarm/dind:${TEST_ENGINE_VERSION} dockerd -H tcp://0.0.0.0:2375 --experimental
+ docker run -t --rm --env="DOCKER_HOST=tcp://dpy-dind-py3:2375" --env="DOCKER_TEST_API_VERSION=${TEST_API_VERSION}"\
+ --network dpy-tests docker-sdk-python3 py.test tests/integration
docker rm -vf dpy-dind-py3
.PHONY: integration-dind-ssl
integration-dind-ssl: build-dind-certs build build-py3
+ docker rm -vf dpy-dind-certs dpy-dind-ssl || :
docker run -d --name dpy-dind-certs dpy-dind-certs
docker run -d --env="DOCKER_HOST=tcp://localhost:2375" --env="DOCKER_TLS_VERIFY=1"\
--env="DOCKER_CERT_PATH=/certs" --volumes-from dpy-dind-certs --name dpy-dind-ssl\
- -v /tmp --privileged dockerswarm/dind:${TEST_ENGINE_VERSION} dockerd --tlsverify\
- --tlscacert=/certs/ca.pem --tlscert=/certs/server-cert.pem\
+ --network dpy-tests --network-alias docker -v /tmp --privileged\
+ dockerswarm/dind:${TEST_ENGINE_VERSION}\
+ dockerd --tlsverify --tlscacert=/certs/ca.pem --tlscert=/certs/server-cert.pem\
--tlskey=/certs/server-key.pem -H tcp://0.0.0.0:2375 --experimental
docker run -t --rm --volumes-from dpy-dind-ssl --env="DOCKER_HOST=tcp://docker:2375"\
--env="DOCKER_TLS_VERIFY=1" --env="DOCKER_CERT_PATH=/certs" --env="DOCKER_TEST_API_VERSION=${TEST_API_VERSION}"\
- --link=dpy-dind-ssl:docker docker-sdk-python py.test tests/integration
+ --network dpy-tests docker-sdk-python py.test tests/integration
docker run -t --rm --volumes-from dpy-dind-ssl --env="DOCKER_HOST=tcp://docker:2375"\
--env="DOCKER_TLS_VERIFY=1" --env="DOCKER_CERT_PATH=/certs" --env="DOCKER_TEST_API_VERSION=${TEST_API_VERSION}"\
- --link=dpy-dind-ssl:docker docker-sdk-python3 py.test tests/integration
+ --network dpy-tests docker-sdk-python3 py.test tests/integration
docker rm -vf dpy-dind-ssl dpy-dind-certs
.PHONY: flake8