mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
docker-ci 0.4.5: Sync tests with progress in docker and docker-registry. Use revamped shiny DinD.
This commit is contained in:
parent
e7df38dbd0
commit
249f76bebd
12 changed files with 33 additions and 36 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -18,3 +18,4 @@ bundles/
|
||||||
.hg/
|
.hg/
|
||||||
.git/
|
.git/
|
||||||
vendor/pkg/
|
vendor/pkg/
|
||||||
|
pyenv
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# VERSION: 0.22
|
# VERSION: 0.25
|
||||||
# DOCKER-VERSION 0.6.3
|
# DOCKER-VERSION 0.6.6
|
||||||
# AUTHOR: Daniel Mizyrycki <daniel@dotcloud.com>
|
# AUTHOR: Daniel Mizyrycki <daniel@docker.com>
|
||||||
# DESCRIPTION: Deploy docker-ci on Digital Ocean
|
# DESCRIPTION: Deploy docker-ci on Digital Ocean
|
||||||
# COMMENTS:
|
# COMMENTS:
|
||||||
# CONFIG_JSON is an environment variable json string loaded as:
|
# CONFIG_JSON is an environment variable json string loaded as:
|
||||||
|
|
1
hack/infrastructure/docker-ci/VERSION
Normal file
1
hack/infrastructure/docker-ci/VERSION
Normal file
|
@ -0,0 +1 @@
|
||||||
|
0.4.5
|
|
@ -32,7 +32,7 @@ DOCKER_CI_PATH = '/docker-ci'
|
||||||
CFG_PATH = '{}/buildbot'.format(DOCKER_CI_PATH)
|
CFG_PATH = '{}/buildbot'.format(DOCKER_CI_PATH)
|
||||||
|
|
||||||
|
|
||||||
class digital_ocean():
|
class DigitalOcean():
|
||||||
|
|
||||||
def __init__(self, key, client):
|
def __init__(self, key, client):
|
||||||
'''Set default API parameters'''
|
'''Set default API parameters'''
|
||||||
|
@ -62,7 +62,7 @@ def json_fmt(data):
|
||||||
return json.dumps(data, sort_keys = True, indent = 2)
|
return json.dumps(data, sort_keys = True, indent = 2)
|
||||||
|
|
||||||
|
|
||||||
do = digital_ocean(env['DO_API_KEY'], env['DO_CLIENT_ID'])
|
do = DigitalOcean(env['DO_API_KEY'], env['DO_CLIENT_ID'])
|
||||||
|
|
||||||
# Get DROPLET_NAME data
|
# Get DROPLET_NAME data
|
||||||
data = do.droplet_data(DROPLET_NAME)
|
data = do.droplet_data(DROPLET_NAME)
|
||||||
|
@ -147,9 +147,6 @@ sudo('curl -s https://phantomjs.googlecode.com/files/'
|
||||||
'phantomjs-1.9.1-linux-x86_64.tar.bz2 | tar jx -C /usr/bin'
|
'phantomjs-1.9.1-linux-x86_64.tar.bz2 | tar jx -C /usr/bin'
|
||||||
' --strip-components=2 phantomjs-1.9.1-linux-x86_64/bin/phantomjs')
|
' --strip-components=2 phantomjs-1.9.1-linux-x86_64/bin/phantomjs')
|
||||||
|
|
||||||
# Preventively reboot docker-ci daily
|
|
||||||
sudo('ln -s /sbin/reboot /etc/cron.daily')
|
|
||||||
|
|
||||||
# Build docker-ci containers
|
# Build docker-ci containers
|
||||||
sudo('cd {}; docker build -t docker .'.format(DOCKER_PATH))
|
sudo('cd {}; docker build -t docker .'.format(DOCKER_PATH))
|
||||||
sudo('cd {}; docker build -t docker-ci .'.format(DOCKER_CI_PATH))
|
sudo('cd {}; docker build -t docker-ci .'.format(DOCKER_CI_PATH))
|
||||||
|
@ -169,3 +166,6 @@ sudo('{0}/setup.sh root {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10}'
|
||||||
env['SMTP_PWD'], env['EMAIL_RCP'], env['REGISTRY_USER'],
|
env['SMTP_PWD'], env['EMAIL_RCP'], env['REGISTRY_USER'],
|
||||||
env['REGISTRY_PWD'], env['REGISTRY_BUCKET'], env['REGISTRY_ACCESS_KEY'],
|
env['REGISTRY_PWD'], env['REGISTRY_BUCKET'], env['REGISTRY_ACCESS_KEY'],
|
||||||
env['REGISTRY_SECRET_KEY']))
|
env['REGISTRY_SECRET_KEY']))
|
||||||
|
|
||||||
|
# Preventively reboot docker-ci daily
|
||||||
|
sudo('ln -s /sbin/reboot /etc/cron.daily')
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# VERSION: 0.3
|
# VERSION: 0.4
|
||||||
# DOCKER-VERSION 0.6.3
|
# DOCKER-VERSION 0.6.6
|
||||||
# AUTHOR: Daniel Mizyrycki <daniel@dotcloud.com>
|
# AUTHOR: Daniel Mizyrycki <daniel@docker.com>
|
||||||
# DESCRIPTION: Testing docker PRs and commits on top of master using
|
# DESCRIPTION: Testing docker PRs and commits on top of master using
|
||||||
# REFERENCES: This code reuses the excellent implementation of
|
# REFERENCES: This code reuses the excellent implementation of
|
||||||
# Docker in Docker made by Jerome Petazzoni.
|
# Docker in Docker made by Jerome Petazzoni.
|
||||||
|
@ -15,13 +15,9 @@
|
||||||
# TO_RUN: docker run -privileged test_docker hack/dind test_docker.sh [commit] [repo] [branch]
|
# TO_RUN: docker run -privileged test_docker hack/dind test_docker.sh [commit] [repo] [branch]
|
||||||
|
|
||||||
from docker
|
from docker
|
||||||
maintainer Daniel Mizyrycki <daniel@dotcloud.com>
|
maintainer Daniel Mizyrycki <daniel@docker.com>
|
||||||
|
|
||||||
#### FIXME. Temporarily install docker and dind with proper apparmor handling
|
# Setup go in PATH. Extracted from /Dockerfile
|
||||||
run wget -q -O /go/src/github.com/dotcloud/docker/hack/dind http://raw.github.com/jpetazzo/docker/escape-apparmor-confinement/hack/dind
|
|
||||||
run chmod +x /go/src/github.com/dotcloud/docker/hack/dind
|
|
||||||
|
|
||||||
# Setup go to the PATH. Extracted from /Dockerfile
|
|
||||||
env PATH /usr/local/go/bin:$PATH
|
env PATH /usr/local/go/bin:$PATH
|
||||||
|
|
||||||
# Add test_docker.sh
|
# Add test_docker.sh
|
||||||
|
|
|
@ -8,6 +8,10 @@ BRANCH=${3-master}
|
||||||
# Compute test paths
|
# Compute test paths
|
||||||
DOCKER_PATH=/go/src/github.com/dotcloud/docker
|
DOCKER_PATH=/go/src/github.com/dotcloud/docker
|
||||||
|
|
||||||
|
# Timestamp
|
||||||
|
echo
|
||||||
|
date; echo
|
||||||
|
|
||||||
# Fetch latest master
|
# Fetch latest master
|
||||||
cd /
|
cd /
|
||||||
rm -rf /go
|
rm -rf /go
|
||||||
|
@ -16,13 +20,13 @@ cd $DOCKER_PATH
|
||||||
|
|
||||||
# Merge commit
|
# Merge commit
|
||||||
git fetch -q "$REPO" "$BRANCH"
|
git fetch -q "$REPO" "$BRANCH"
|
||||||
git merge --no-edit $COMMIT || exit 1
|
git merge --no-edit $COMMIT || exit 255
|
||||||
|
|
||||||
# Test commit
|
# Test commit
|
||||||
./hack/make.sh test; exit_status=$?
|
./hack/make.sh test; exit_status=$?
|
||||||
|
|
||||||
# Display load if test fails
|
# Display load if test fails
|
||||||
if [ $exit_status -eq 1 ] ; then
|
if [ $exit_status -ne 0 ] ; then
|
||||||
uptime; echo; free
|
uptime; echo; free
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ rm -rf docker-registry
|
||||||
# Setup the environment
|
# Setup the environment
|
||||||
export SETTINGS_FLAVOR=test
|
export SETTINGS_FLAVOR=test
|
||||||
export DOCKER_REGISTRY_CONFIG=config_test.yml
|
export DOCKER_REGISTRY_CONFIG=config_test.yml
|
||||||
|
export PYTHONPATH=$(pwd)/docker-registry/test
|
||||||
|
|
||||||
# Get latest docker registry
|
# Get latest docker registry
|
||||||
git clone -q https://github.com/dotcloud/docker-registry.git
|
git clone -q https://github.com/dotcloud/docker-registry.git
|
||||||
|
@ -21,7 +22,6 @@ pip install -q tox
|
||||||
|
|
||||||
# Run registry tests
|
# Run registry tests
|
||||||
tox || exit 1
|
tox || exit 1
|
||||||
export PYTHONPATH=$(pwd)/docker-registry
|
|
||||||
python -m unittest discover -p s3.py -s test || exit 1
|
python -m unittest discover -p s3.py -s test || exit 1
|
||||||
python -m unittest discover -p workflow.py -s test
|
python -m unittest discover -p workflow.py -s test
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# VERSION: 1.5
|
# VERSION: 1.6
|
||||||
# DOCKER-VERSION 0.6.4
|
# DOCKER-VERSION 0.6.6
|
||||||
# AUTHOR: Daniel Mizyrycki <daniel@dotcloud.com>
|
# AUTHOR: Daniel Mizyrycki <daniel@docker.com>
|
||||||
# DESCRIPTION: Build docker nightly release using Docker in Docker.
|
# DESCRIPTION: Build docker nightly release using Docker in Docker.
|
||||||
# REFERENCES: This code reuses the excellent implementation of docker in docker
|
# REFERENCES: This code reuses the excellent implementation of docker in docker
|
||||||
# made by Jerome Petazzoni. https://github.com/jpetazzo/dind
|
# made by Jerome Petazzoni. https://github.com/jpetazzo/dind
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
# TO_RELEASE: docker run -i -t -privileged -e AWS_S3_BUCKET="test.docker.io" dockerbuilder hack/dind dockerbuild.sh
|
# TO_RELEASE: docker run -i -t -privileged -e AWS_S3_BUCKET="test.docker.io" dockerbuilder hack/dind dockerbuild.sh
|
||||||
|
|
||||||
from docker
|
from docker
|
||||||
maintainer Daniel Mizyrycki <daniel@dotcloud.com>
|
maintainer Daniel Mizyrycki <daniel@docker.com>
|
||||||
|
|
||||||
# Add docker dependencies and downloading packages
|
# Add docker dependencies and downloading packages
|
||||||
run echo 'deb http://archive.ubuntu.com/ubuntu precise main universe' > /etc/apt/sources.list
|
run echo 'deb http://archive.ubuntu.com/ubuntu precise main universe' > /etc/apt/sources.list
|
||||||
|
@ -22,11 +22,6 @@ run apt-get update; apt-get install -y -q wget python2.7
|
||||||
# Add production docker binary
|
# Add production docker binary
|
||||||
run wget -q -O /usr/bin/docker http://get.docker.io/builds/Linux/x86_64/docker-latest; chmod +x /usr/bin/docker
|
run wget -q -O /usr/bin/docker http://get.docker.io/builds/Linux/x86_64/docker-latest; chmod +x /usr/bin/docker
|
||||||
|
|
||||||
#### FIXME. Temporarily install docker and dind with proper apparmor handling
|
|
||||||
run wget -q -O /usr/bin/docker http://test.docker.io/test/docker; chmod +x /usr/bin/docker
|
|
||||||
run wget -q -O /go/src/github.com/dotcloud/docker/hack/dind http://raw.github.com/jpetazzo/docker/escape-apparmor-confinement/hack/dind
|
|
||||||
run chmod +x /go/src/github.com/dotcloud/docker/hack/dind
|
|
||||||
|
|
||||||
# Add proto docker builder
|
# Add proto docker builder
|
||||||
add ./dockerbuild.sh /usr/bin/dockerbuild.sh
|
add ./dockerbuild.sh /usr/bin/dockerbuild.sh
|
||||||
run chmod +x /usr/bin/dockerbuild.sh
|
run chmod +x /usr/bin/dockerbuild.sh
|
||||||
|
|
|
@ -34,7 +34,7 @@ exit_status=$?
|
||||||
|
|
||||||
# Display load if test fails
|
# Display load if test fails
|
||||||
set -x
|
set -x
|
||||||
if [ $exit_status -eq 1 ] ; then
|
if [ $exit_status -ne 0 ] ; then
|
||||||
uptime; echo; free
|
uptime; echo; free
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -11,7 +11,7 @@ maintainer Daniel Mizyrycki <daniel@dotcloud.com>
|
||||||
|
|
||||||
# Add registry_coverager.sh and dependencies
|
# Add registry_coverager.sh and dependencies
|
||||||
run pip install coverage flask pyyaml requests simplejson python-glanceclient \
|
run pip install coverage flask pyyaml requests simplejson python-glanceclient \
|
||||||
blinker redis gevent
|
blinker redis boto gevent rsa mock
|
||||||
add registry_coverage.sh /usr/bin/registry_coverage.sh
|
add registry_coverage.sh /usr/bin/registry_coverage.sh
|
||||||
run chmod +x /usr/bin/registry_coverage.sh
|
run chmod +x /usr/bin/registry_coverage.sh
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,11 @@
|
||||||
|
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
# Compute test paths
|
# Setup the environment
|
||||||
REGISTRY_PATH=/data/docker-registry
|
REGISTRY_PATH=/data/docker-registry
|
||||||
|
export SETTINGS_FLAVOR=test
|
||||||
|
export DOCKER_REGISTRY_CONFIG=config_test.yml
|
||||||
|
export PYTHONPATH=$REGISTRY_PATH/test
|
||||||
|
|
||||||
# Fetch latest docker-registry master
|
# Fetch latest docker-registry master
|
||||||
rm -rf $REGISTRY_PATH
|
rm -rf $REGISTRY_PATH
|
||||||
|
@ -11,8 +14,5 @@ git clone https://github.com/dotcloud/docker-registry -b master $REGISTRY_PATH
|
||||||
cd $REGISTRY_PATH
|
cd $REGISTRY_PATH
|
||||||
|
|
||||||
# Generate coverage
|
# Generate coverage
|
||||||
export SETTINGS_FLAVOR=test
|
|
||||||
export DOCKER_REGISTRY_CONFIG=config_test.yml
|
|
||||||
|
|
||||||
coverage run -m unittest discover test || exit 1
|
coverage run -m unittest discover test || exit 1
|
||||||
coverage report --include='./*' --omit='./test/*'
|
coverage report --include='./*' --omit='./test/*'
|
||||||
|
|
|
@ -34,7 +34,7 @@ env['DOCKER_CI_KEY'] = open(env['DOCKER_CI_KEY_PATH']).read()
|
||||||
|
|
||||||
DROPLET_NAME = env.get('DROPLET_NAME','report')
|
DROPLET_NAME = env.get('DROPLET_NAME','report')
|
||||||
TIMEOUT = 120 # Seconds before timeout droplet creation
|
TIMEOUT = 120 # Seconds before timeout droplet creation
|
||||||
IMAGE_ID = 894856 # Docker on Ubuntu 13.04
|
IMAGE_ID = 1004145 # Docker on Ubuntu 13.04
|
||||||
REGION_ID = 4 # New York 2
|
REGION_ID = 4 # New York 2
|
||||||
SIZE_ID = 66 # memory 512MB
|
SIZE_ID = 66 # memory 512MB
|
||||||
DO_IMAGE_USER = 'root' # Image user on Digital Ocean
|
DO_IMAGE_USER = 'root' # Image user on Digital Ocean
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue