Skip to content

Commit

Permalink
Docker image name includes release, use stage RPMS for tdnf install
Browse files Browse the repository at this point in the history
Change-Id: I41da67346ed72a4f77cefcc2e1b0d8de14a41aaf
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/4082
Reviewed-by: Anish Swaminathan <[email protected]>
Tested-by: Anish Swaminathan <[email protected]>
  • Loading branch information
Vinay Kulkarni authored and suezzelur committed Oct 19, 2017
1 parent 8b05ad9 commit da35460
Show file tree
Hide file tree
Showing 22 changed files with 99 additions and 43 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,7 @@ start-docker: check-docker
systemctl start docker

k8s-docker-images: start-docker photon-docker-image
mkdir -p $(PHOTON_STAGE)/docker_images && \
cd ./support/dockerfiles/k8s-docker-images && \
./build-k8s-base-image.sh $(PHOTON_RELEASE_VERSION) $(PHOTON_BUILD_NUMBER) $(PHOTON_STAGE) && \
./build-k8s-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \
Expand Down
3 changes: 1 addition & 2 deletions support/dockerfiles/k8s-docker-images/Dockerfile.calico-cni
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
FROM vmware/photon:2.0
FROM k8s-base-image:2.0

MAINTAINER [email protected]

RUN tdnf install -y sed net-tools
COPY [ "./tmp/calico/opt/cni/bin/calico", \
"./tmp/calico/opt/cni/bin/calico-ipam", \
"./tmp/calico/opt/cni/bin/portmap", \
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM vmware/photon:2.0
FROM k8s-base-image:2.0

MAINTAINER [email protected]

Expand Down
6 changes: 4 additions & 2 deletions support/dockerfiles/k8s-docker-images/Dockerfile.calico-node
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
FROM vmware/photon:2.0
FROM k8s-base-image:2.0

MAINTAINER [email protected]

# Minimum Docker API version required for libnetwork.
ENV DOCKER_API_VERSION 1.21

# Install required packages
RUN tdnf install -y initscripts iproute2 ipset iptables iputils net-tools runit
COPY [ "./stage-rpms-tdnf.conf", "./tmp/stage-rpms.repo", "/tmp/tdnf/" ]
RUN tdnf -c /tmp/tdnf/stage-rpms-tdnf.conf install -y initscripts iproute2 \
ipset iptables iputils runit --refresh

# Copy binaries needed by calico/node
COPY [ "./tmp/calico/usr/share/calico/docker/fs/etc", "/etc/" ]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Photon Base Build Container

FROM vmware/photon:2.0
FROM k8s-base-image:2.0

MAINTAINER [email protected]

RUN tdnf install -y dnsmasq
COPY [ "./stage-rpms-tdnf.conf", "./tmp/stage-rpms.repo", "/tmp/tdnf/" ]
RUN tdnf -c /tmp/tdnf/stage-rpms-tdnf.conf install -y dnsmasq --refresh

RUN echo "user=root" > /etc/dnsmasq.conf
RUN mkdir -p /var/run/
STOPSIGNAL SIGCONT
Expand Down
6 changes: 4 additions & 2 deletions support/dockerfiles/k8s-docker-images/Dockerfile.flannel
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
FROM vmware/photon:2.0
FROM k8s-base-image:2.0

MAINTAINER [email protected]

ENV FLANNEL_ARCH=amd64

RUN tdnf install -y iproute2 net-tools iptables
COPY [ "./stage-rpms-tdnf.conf", "./tmp/stage-rpms.repo", "/tmp/tdnf/" ]
RUN tdnf -c /tmp/tdnf/stage-rpms-tdnf.conf install -y iproute2 iptables --refresh

ADD tmp/flannel/usr/bin/flanneld /opt/bin/flanneld
COPY tmp/flannel/usr/share/flannel/docker/mk-docker-opts.sh /opt/bin/
RUN ln -s /usr/sbin/iptables /usr/local/bin/iptables
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Photon Base Build Container

FROM vmware/photon
FROM vmware/photon:2.0

MAINTAINER [email protected]

Expand Down
4 changes: 1 addition & 3 deletions support/dockerfiles/k8s-docker-images/Dockerfile.kube-dns
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# Photon Base Build Container

FROM vmware/photon:2.0
FROM k8s-base-image:2.0

MAINTAINER [email protected]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ FROM vmware/photon:2.0

MAINTAINER [email protected]

RUN tdnf install -y ebtables iptables iproute2 shadow socat
RUN tdnf install -y ebtables iptables iproute2 shadow socat --refresh
ADD tmp/k8s/usr/bin/kube-proxy /usr/bin/kube-proxy
RUN ln -s /usr/bin/kube-proxy /usr/local/bin/kube-proxy

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
FROM vmware/photon:2.0
FROM k8s-base-image:2.0

MAINTAINER [email protected]

RUN tdnf install -y shadow openssl nginx
COPY [ "./stage-rpms-tdnf.conf", "./tmp/stage-rpms.repo", "/tmp/tdnf/" ]
RUN tdnf -c /tmp/tdnf/stage-rpms-tdnf.conf install -y openssl nginx shadow --refresh
RUN useradd --system --no-create-home -U -s /bin/false nginx

# forward nginx access and error logs to stdout and stderr
Expand Down
4 changes: 1 addition & 3 deletions support/dockerfiles/k8s-docker-images/Dockerfile.sidecar
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# Photon Base Build Container

FROM vmware/photon:2.0
FROM k8s-base-image:2.0

MAINTAINER [email protected]

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/bin/bash -e

source common.inc

DIST_TAG=$1
DIST_VER=$2
SPEC_DIR=$3
Expand Down Expand Up @@ -122,9 +124,9 @@ fi
CALICO_NODE_IMG_NAME=vmware_photon_${DIST_VER}/calico-node:v${CALICO_VER}
CALICO_CNI_IMG_NAME=vmware_photon_${DIST_VER}/calico-cni:v${CALICO_CNI_VER}
CALICO_K8S_POLICY_IMG_NAME=vmware_photon_${DIST_VER}/calico-kube-policy-controller:v${CALICO_K8S_POLICY_VER}
CALICO_NODE_TAR=calico-node-v${CALICO_VER}.tar
CALICO_CNI_TAR=calico-cni-v${CALICO_CNI_VER}.tar
CALICO_K8S_POLICY_TAR=calico-k8s-policy-v${CALICO_K8S_POLICY_VER}.tar
CALICO_NODE_TAR=calico-node-v${CALICO_VER_REL}.tar
CALICO_CNI_TAR=calico-cni-v${CALICO_CNI_VER_REL}.tar
CALICO_K8S_POLICY_TAR=calico-k8s-policy-v${CALICO_K8S_POLICY_VER_REL}.tar

NODE_IMG_ID=`docker images -q ${CALICO_NODE_IMG_NAME} 2> /dev/null`
if [[ ! -z "${NODE_IMG_ID}" ]]; then
Expand Down Expand Up @@ -162,19 +164,21 @@ rpm2cpio ${K8S_CNI_RPM} | cpio -vid
rpm2cpio ${CALICO_K8S_POLICY_RPM} | cpio -vid
popd

setup_repo

docker build --rm -t ${CALICO_NODE_IMG_NAME} -f Dockerfile.calico-node .
docker save -o ${CALICO_NODE_TAR} ${CALICO_NODE_IMG_NAME}
gzip ${CALICO_NODE_TAR}
mv -f ${CALICO_NODE_TAR}.gz ${STAGE_DIR}/
mv -f ${CALICO_NODE_TAR}.gz ${STAGE_DIR}/docker_images/

docker build --rm -t ${CALICO_CNI_IMG_NAME} -f Dockerfile.calico-cni .
docker save -o ${CALICO_CNI_TAR} ${CALICO_CNI_IMG_NAME}
gzip ${CALICO_CNI_TAR}
mv -f ${CALICO_CNI_TAR}.gz ${STAGE_DIR}/
mv -f ${CALICO_CNI_TAR}.gz ${STAGE_DIR}/docker_images/

docker build --rm -t ${CALICO_K8S_POLICY_IMG_NAME} -f Dockerfile.calico-k8s-policy .
docker save -o ${CALICO_K8S_POLICY_TAR} ${CALICO_K8S_POLICY_IMG_NAME}
gzip ${CALICO_K8S_POLICY_TAR}
mv -f ${CALICO_K8S_POLICY_TAR}.gz ${STAGE_DIR}/
mv -f ${CALICO_K8S_POLICY_TAR}.gz ${STAGE_DIR}/docker_images/

rm -rf ./tmp
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/bin/bash -e

source common.inc

DIST_TAG=$1
DIST_VER=$2
SPEC_DIR=$3
Expand All @@ -13,7 +15,7 @@ FLANNEL_VER=`cat ${SPEC_DIR}/flannel/flannel.spec | grep Version | cut -d: -f2 |
FLANNEL_VER_REL=${FLANNEL_VER}-`cat ${SPEC_DIR}/flannel/flannel.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
FLANNEL_RPM=flannel-${FLANNEL_VER_REL}${DIST_TAG}.${ARCH}.rpm
FLANNEL_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${FLANNEL_RPM}
FLANNEL_TAR=flannel-v${FLANNEL_VER}.tar
FLANNEL_TAR=flannel-v${FLANNEL_VER_REL}.tar

if [ ! -f ${FLANNEL_RPM_FILE} ]
then
Expand All @@ -34,9 +36,12 @@ cp ${FLANNEL_RPM_FILE} tmp/flannel/
pushd ./tmp/flannel
rpm2cpio ${FLANNEL_RPM} | cpio -vid
popd

setup_repo

docker build --rm -t ${IMG_NAME} -f Dockerfile.flannel .
docker save -o ${FLANNEL_TAR} ${IMG_NAME}
gzip ${FLANNEL_TAR}
mv -f ${FLANNEL_TAR}.gz ${STAGE_DIR}/
mv -f ${FLANNEL_TAR}.gz ${STAGE_DIR}/docker_images/

rm -rf ./tmp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ K8S_DASH_VER=`cat ${SPEC_DIR}/kubernetes-dashboard/kubernetes-dashboard.spec | g
K8S_DASH_VER_REL=${K8S_DASH_VER}-`cat ${SPEC_DIR}/kubernetes-dashboard/kubernetes-dashboard.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
K8S_DASH_RPM=kubernetes-dashboard-${K8S_DASH_VER_REL}${DIST_TAG}.${ARCH}.rpm
K8S_DASH_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${K8S_DASH_RPM}
K8S_DASH_TAR=kubernetes-dashboard-v${K8S_DASH_VER}.tar
K8S_DASH_TAR=kubernetes-dashboard-v${K8S_DASH_VER_REL}.tar

if [ ! -f ${K8S_DASH_RPM_FILE} ]
then
Expand All @@ -40,7 +40,7 @@ cd img
docker build --rm -t ${IMG_NAME} .
docker save -o ${K8S_DASH_TAR} ${IMG_NAME}
gzip ${K8S_DASH_TAR}
mv -f ${K8S_DASH_TAR}.gz ${STAGE_DIR}/
mv -f ${K8S_DASH_TAR}.gz ${STAGE_DIR}/docker_images/
popd

rm -rf ./tmp
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/bin/bash -e

source common.inc

DIST_TAG=$1
DIST_VER=$2
SPEC_DIR=$3
Expand Down Expand Up @@ -36,13 +38,15 @@ pushd ./tmp/k8dns
rpm2cpio ${K8S_DNS_RPM} | cpio -vid
popd

setup_repo

for K8S_BIN in ${K8S_DNS_BINS[*]}; do
IMG_NAME=vmware_photon_${DIST_VER}/k8s-dns-${K8S_BIN}-amd64:${K8S_DNS_VER}
K8S_TAR_NAME=k8s-dns-${K8S_BIN}-${K8S_DNS_VER}.tar
K8S_TAR_NAME=k8s-dns-${K8S_BIN}-${K8S_DNS_VER_REL}.tar
docker build --rm -t ${IMG_NAME} -f ./Dockerfile.${K8S_BIN} .
docker save -o ${K8S_TAR_NAME} ${IMG_NAME}
gzip ${K8S_TAR_NAME}
mv -f ${K8S_TAR_NAME}.gz ${STAGE_DIR}/
mv -f ${K8S_TAR_NAME}.gz ${STAGE_DIR}/docker_images/
done

rm -rf ./tmp
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,19 @@ popd

for K8S_BIN in ${K8S_BINS[*]}; do
IMG_NAME=vmware_photon_${DIST_VER}/${K8S_BIN}-amd64:v${K8S_VER}
K8S_TAR_NAME=${K8S_BIN}-v${K8S_VER}.tar
K8S_TAR_NAME=${K8S_BIN}-v${K8S_VER_REL}.tar
docker build --rm -t ${IMG_NAME} -f ./Dockerfile.${K8S_BIN} .
docker save -o ${K8S_TAR_NAME} ${IMG_NAME}
gzip ${K8S_TAR_NAME}
mv -f ${K8S_TAR_NAME}.gz ${STAGE_DIR}/
mv -f ${K8S_TAR_NAME}.gz ${STAGE_DIR}/docker_images/
done


#
# K8S Pause container
#
PAUSE_IMG_NAME=vmware_photon_${DIST_VER}/pause-amd64:v${K8S_VER}
PAUSE_TAR_NAME=k8s-pause-v${K8S_VER}.tar
PAUSE_TAR_NAME=k8s-pause-v${K8S_VER_REL}.tar

PAUSE_IMG_ID=`docker images -q ${PAUSE_IMG_NAME} 2> /dev/null`
if [[ ! -z "${PAUSE_IMG_ID}" ]]; then
Expand All @@ -65,6 +65,6 @@ fi
docker build --rm -t ${PAUSE_IMG_NAME} -f ./Dockerfile.pause .
docker save -o ${PAUSE_TAR_NAME} ${PAUSE_IMG_NAME}
gzip ${PAUSE_TAR_NAME}
mv -f ${PAUSE_TAR_NAME}.gz ${STAGE_DIR}/
mv -f ${PAUSE_TAR_NAME}.gz ${STAGE_DIR}/docker_images/

rm -rf ./tmp
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ pushd ./tmp/k8heapster
rpm2cpio ${K8S_HEAPSTER_RPM} | cpio -vid
popd

K8S_TAR_NAME=k8s-heapster-${K8S_HEAPSTER_VER}.tar
K8S_TAR_NAME=k8s-heapster-${K8S_HEAPSTER_VER_REL}.tar
docker build --rm -t ${IMG_NAME} -f ./Dockerfile.heapster .
docker save -o ${K8S_TAR_NAME} ${IMG_NAME}
gzip ${K8S_TAR_NAME}
mv -f ${K8S_TAR_NAME}.gz ${STAGE_DIR}/
mv -f ${K8S_TAR_NAME}.gz ${STAGE_DIR}/docker_images/

rm -rf ./tmp
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/bin/bash -e

source common.inc

DIST_TAG=$1
DIST_VER=$2
SPEC_DIR=$3
Expand All @@ -13,7 +15,7 @@ NGINX_INC_VER=`cat ${SPEC_DIR}/nginx-ingress/nginx-ingress.spec | grep Version |
NGINX_INC_VER_REL=${NGINX_INC_VER}-`cat ${SPEC_DIR}/nginx-ingress/nginx-ingress.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
NGINX_INC_RPM=nginx-ingress-${NGINX_INC_VER_REL}${DIST_TAG}.${ARCH}.rpm
NGINX_INC_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${NGINX_INC_RPM}
NGINX_INC_TAR=nginx-ingress-v${NGINX_INC_VER}.tar
NGINX_INC_TAR=nginx-ingress-v${NGINX_INC_VER_REL}.tar

if [ ! -f ${NGINX_INC_RPM_FILE} ]
then
Expand All @@ -34,9 +36,12 @@ cp ${NGINX_INC_RPM_FILE} tmp/nginxinc/
pushd ./tmp/nginxinc
rpm2cpio ${NGINX_INC_RPM} | cpio -vid
popd

setup_repo

docker build --rm -t ${IMG_NAME} -f Dockerfile.nginx-ingress .
docker save -o ${NGINX_INC_TAR} ${IMG_NAME}
gzip ${NGINX_INC_TAR}
mv -f ${NGINX_INC_TAR}.gz ${STAGE_DIR}/
mv -f ${NGINX_INC_TAR}.gz ${STAGE_DIR}/docker_images/

rm -rf ./tmp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ WAVEFRONT_PROXY_VER=`cat ${SPEC_DIR}/wavefront-proxy/wavefront-proxy.spec | grep
WAVEFRONT_PROXY_VER_REL=${WAVEFRONT_PROXY_VER}-`cat ${SPEC_DIR}/wavefront-proxy/wavefront-proxy.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
WAVEFRONT_PROXY_RPM=wavefront-proxy-${WAVEFRONT_PROXY_VER_REL}${DIST_TAG}.${ARCH}.rpm
WAVEFRONT_PROXY_RPM_FILE=${STAGE_DIR}/RPMS/${ARCH}/${WAVEFRONT_PROXY_RPM}
WAVEFRONT_PROXY_TAR=wavefront-proxy-v${WAVEFRONT_PROXY_VER}.tar
WAVEFRONT_PROXY_TAR=wavefront-proxy-v${WAVEFRONT_PROXY_VER_REL}.tar

if [ ! -f ${WAVEFRONT_PROXY_RPM_FILE} ]
then
Expand All @@ -37,6 +37,6 @@ popd
docker build --rm -t ${IMG_NAME} -f Dockerfile.wavefront-proxy .
docker save -o ${WAVEFRONT_PROXY_TAR} ${IMG_NAME}
gzip ${WAVEFRONT_PROXY_TAR}
mv -f ${WAVEFRONT_PROXY_TAR}.gz ${STAGE_DIR}/
mv -f ${WAVEFRONT_PROXY_TAR}.gz ${STAGE_DIR}/docker_images/

rm -rf ./tmp
24 changes: 24 additions & 0 deletions support/dockerfiles/k8s-docker-images/common.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

setup_repo()
{
mkdir -p tmp
ln -fs ${STAGE_DIR}/RPMS tmp/RPMS
ETH0_IP=`ip -4 addr show eth0 scope global | grep 'inet ' | awk '{print $2}' | cut -f1 -d'/'`
cat stage-rpms.repo | sed 's/ETH0_IP/'"${ETH0_IP}"'/g' > tmp/stage-rpms.repo
if ! iptables -C INPUT -p tcp --dport 62965 -j ACCEPT &> /dev/null; then
iptables -A INPUT -p tcp --dport 62965 -j ACCEPT
fi
python3 -m http.server --bind ${ETH0_IP} 62965 &
PY_WS_PID=$!
if [ -z "${PY_WS_PID}" ]; then
echo "Failed to start repo server"
exit 1
fi
echo "tdnf repo server started with pid: " ${PY_WS_PID}
}

function cleanup_repo {
echo "Terminating tdnf repo server with pid: " ${PY_WS_PID}
kill ${PY_WS_PID}
}
trap cleanup_repo EXIT
6 changes: 6 additions & 0 deletions support/dockerfiles/k8s-docker-images/stage-rpms-tdnf.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=true
repodir=/tmp/tdnf
cachedir=/var/cache/tdnf
7 changes: 7 additions & 0 deletions support/dockerfiles/k8s-docker-images/stage-rpms.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[stage-rpms]
name=stage-rpms
baseurl=http://ETH0_IP:62965/tmp/RPMS
gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY
gpgcheck=0
enabled=1
skip_if_unavailable=True

0 comments on commit da35460

Please sign in to comment.