Commit 205cac46 authored by Darren Shepherd's avatar Darren Shepherd Committed by GitHub
Browse files

Merge pull request #6824 from ibuildthecloud/agent-update

Switch to agent base and no rancher-agent-state
parents b20c3a23 eb3aac3b
Showing with 13 additions and 102 deletions
+13 -102
FROM ubuntu:16.04
RUN apt-get update && \
apt-get install --no-install-recommends -y \
arptables \
bridge-utils \
ca-certificates \
curl \
iptables \
iproute2 \
conntrack \
python2.7 \
jq && \
rm -rf /var/lib/apt/lists/* && \
curl -s -L https://get.docker.com/builds/Linux/x86_64/docker-1.6.0 > /usr/bin/docker; chmod +x /usr/bin/docker && \
mkdir -p /var/lib/cattle /var/lib/rancher && \
ln -s /usr/bin/python2.7 /usr/bin/python && \
curl -s https://bootstrap.pypa.io/get-pip.py | python2.7 && \
pip install cattle
RUN curl -sL https://github.com/rancher/runc/releases/download/share-mnt-v0.2.1/share-mnt > /usr/bin/share-mnt && \
chmod +x /usr/bin/share-mnt
RUN curl -sL https://github.com/rancher/weave/releases/download/r-v0.0.4/r > /usr/bin/r && \
chmod +x /usr/bin/r
FROM rancher/agent-base:v0.2.0
COPY register.py resolve_url.py run.sh /
ENTRYPOINT ["/run.sh"]
LABEL "io.rancher.container.system"="rancher-agent"
ENV HOST_DOCKER_SOCK /var/run/docker.sock
ENV RANCHER_AGENT_IMAGE rancher/agent:v1.1.0-rc16
ENV RANCHER_AGENT_IMAGE rancher/agent:v1.1.0-rc17
......@@ -118,43 +118,23 @@ if [ -e "${AGENT_CONF_FILE}" ]; then
source "${AGENT_CONF_FILE}"
fi
launch_volume()
{
if docker inspect rancher-agent-state >/dev/null 2>&1; then
return
fi
local opts=""
if [ "${CATTLE_VAR_LIB_WRITABLE}" = "true" ]; then
opts="-v /var/lib/rancher:/var/lib/rancher"
else
opts="-v /var/lib/rancher"
fi
docker run \
--name rancher-agent-state \
-v /var/lib/cattle \
-v /var/log/rancher:/var/log/rancher \
${opts} ${RANCHER_AGENT_IMAGE} state
}
inspect_host()
{
docker run --rm --privileged -v /run:/run -v /var/lib:/var/lib ${RANCHER_AGENT_IMAGE} inspect-host
docker run --rm --privileged -v /run:/run -v /var/run:/var/run -v /var/lib:/var/lib ${RANCHER_AGENT_IMAGE} inspect-host
}
launch_agent()
{
launch_volume
# Needed to edit resolv.conf on the host
local var_lib_docker=$(resolve_var_lib_docker)
if [ -n "$NO_PROXY" ]; then
export no_proxy=$NO_PROXY
fi
if [ "${CATTLE_VAR_LIB_WRITABLE}" = "true" ]; then
opts="-v /var/lib/rancher:/var/lib/rancher"
else
opts="-v /var/lib/rancher"
fi
docker run \
-d \
--name rancher-agent \
......@@ -174,7 +154,6 @@ launch_agent()
-e CATTLE_SECRET_KEY \
-e CATTLE_AGENT_IP \
-e CATTLE_HOST_API_PROXY \
-e CATTLE_SYSTEMD \
-e CATTLE_URL \
-e CATTLE_HOST_LABELS \
-e CATTLE_VOLMGR_ENABLED \
......@@ -182,37 +161,14 @@ launch_agent()
-e CATTLE_MEMORY_OVERRIDE \
-e CATTLE_MILLI_CPU_OVERRIDE \
-e CATTLE_LOCAL_STORAGE_MB_OVERRIDE \
-e HOST_DOCKER_SOCK \
-v $HOST_DOCKER_SOCK:/var/run/docker.sock \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /lib/modules:/lib/modules:ro \
-v ${var_lib_docker}:${var_lib_docker} \
-v /var/lib/docker:/var/lib/docker \
-v /proc:/host/proc \
-v /dev:/host/dev \
-v rancher-cni:/.r \
--volumes-from rancher-agent-state \
"${RANCHER_AGENT_IMAGE}" "$@"
}
resolve_var_lib_docker()
{
local dir="$(docker inspect -f '{{index .Volumes "/var/lib/cattle"}}' rancher-agent-state)"
echo $(dirname $(dirname $(dirname $dir)))
}
verify_docker_client_server_version()
{
local client_version=$(docker version |grep Client\ version | cut -d":" -f2)
info "Checking for Docker version >=" $client_version
docker version 2>&1 | grep Server\ version >/dev/null || {
echo "Please ensure Host Docker version is >=${client_version} and container has r/w permissions to docker.sock" 1>&2
exit 1
}
info Found $(docker version 2>&1 | grep Server\ version)
for i in version info; do
docker $i | while read LINE; do
info "docker $i:" $LINE
done
done
-v rancher-agent-state:/var/lib/cattle \
${opts} "${RANCHER_AGENT_IMAGE}" "$@"
}
delete_container()
......@@ -239,11 +195,6 @@ setup_state()
export CATTLE_STATE_DIR=/var/lib/rancher/state
export CATTLE_AGENT_LOG_FILE=/var/log/rancher/agent.log
export CATTLE_CADVISOR_WRAPPER=cadvisor.sh
if [ "$CATTLE_SYSTEMD" = "true" ]; then
mkdir -p /run/systemd/system
fi
docker run --privileged --net host --pid host -v /:/host --rm $RANCHER_AGENT_IMAGE -- /usr/bin/share-mnt /var/lib/rancher/volumes /var/lib/kubelet -- norun
......@@ -290,8 +241,6 @@ register()
{
ENV=$(./register.py $TOKEN)
eval "$ENV"
export CATTLE_AGENT_IP=${CATTLE_AGENT_IP:-${DETECTED_CATTLE_AGENT_IP}}
}
run_bootstrap()
......@@ -378,18 +327,6 @@ inspect()
info env "CATTLE_VAR_LIB_WRITABLE=false"
fi
fi
if [ -e /var/run/system-docker.sock ]; then
info env "CATTLE_RANCHEROS=true"
else
info env "CATTLE_RANCHEROS=false"
fi
if [ -e /run/systemd/system ]; then
info env "CATTLE_SYSTEMD=true"
else
info env "CATTLE_SYSTEMD=false"
fi
}
setup_env()
......@@ -409,9 +346,6 @@ setup_env()
echo "$content" | grep -v 'INFO: env' || true
eval $(echo "$content" | grep 'INFO: env' | sed 's/INFO: env//g')
export CATTLE_SYSTEMD
info Systemd: ${CATTLE_SYSTEMD}
info Boot2Docker: ${CATTLE_BOOT2DOCKER}
info Host writable: ${CATTLE_VAR_LIB_WRITABLE}
info Token: $(echo $TOKEN | sed 's/........*/xxxxxxxx/g')
......@@ -467,7 +401,6 @@ if [[ $1 =~ http.* || $1 = "register" || $1 = "upgrade" ]]; then
else
info Running Agent Registration Process, CATTLE_URL=$(print_url $CATTLE_URL)
fi
verify_docker_client_server_version
if [ "$1" != "upgrade" ]; then
wait_for
fi
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment