Change-Id: I7c1860b78f31f09b28fdc49994e9153165d21003
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/3342
Reviewed-by: Divya Thaluru <dthaluru@vmware.com>
Tested-by: gerrit-photon <photon-checkins@vmware.com>
| ... | ... |
@@ -64,7 +64,7 @@ clean-install clean-chroot build-updated-packages generate-yaml-files |
| 64 | 64 |
|
| 65 | 65 |
THREADS?=1 |
| 66 | 66 |
|
| 67 |
-all: iso minimal-iso docker-image ostree-host-iso live-iso cloud-image-all src-iso |
|
| 67 |
+all: iso minimal-iso photon-docker-image k8s-docker-images ostree-host-iso live-iso cloud-image-all src-iso |
|
| 68 | 68 |
|
| 69 | 69 |
micro: micro-iso |
| 70 | 70 |
@: |
| ... | ... |
@@ -385,7 +385,7 @@ generate-dep-lists: |
| 385 | 385 |
--input-type=json --file $$f -d json -a $(PHOTON_DATA_DIR); \ |
| 386 | 386 |
done |
| 387 | 387 |
|
| 388 |
-docker-image: |
|
| 388 |
+photon-docker-image: |
|
| 389 | 389 |
sudo docker build --no-cache --tag photon-build ./support/dockerfiles/photon |
| 390 | 390 |
sudo docker run \ |
| 391 | 391 |
-it \ |
| ... | ... |
@@ -398,7 +398,13 @@ docker-image: |
| 398 | 398 |
photon-build \ |
| 399 | 399 |
./support/dockerfiles/photon/make-docker-image.sh tdnf |
| 400 | 400 |
|
| 401 |
-install-docker-image: docker-image |
|
| 401 |
+k8s-docker-images: |
|
| 402 |
+ systemctl start docker && \ |
|
| 403 |
+ cd ./support/dockerfiles/k8s-docker-images && \ |
|
| 404 |
+ ./build-k8s-dns-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
|
| 405 |
+ ./build-k8s-dashboard-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) |
|
| 406 |
+ |
|
| 407 |
+install-photon-docker-image: photon-docker-image |
|
| 402 | 408 |
sudo docker build -t photon:tdnf . |
| 403 | 409 |
|
| 404 | 410 |
ostree-repo: $(PHOTON_PACKAGES) |
| 405 | 411 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,14 @@ |
| 0 |
+# Photon Base Build Container |
|
| 1 |
+ |
|
| 2 |
+FROM vmware/photon:1.0 |
|
| 3 |
+ |
|
| 4 |
+MAINTAINER kulkarniv@vmware.com |
|
| 5 |
+ |
|
| 6 |
+RUN tdnf install -y dnsmasq |
|
| 7 |
+RUN echo "user=root" > /etc/dnsmasq.conf |
|
| 8 |
+RUN mkdir -p /var/run/ |
|
| 9 |
+STOPSIGNAL SIGCONT |
|
| 10 |
+ |
|
| 11 |
+RUN mkdir -p /etc/k8s/dns/dnsmasq-nanny |
|
| 12 |
+ADD tmp/k8dns/usr/bin/dnsmasq-nanny /dnsmasq-nanny |
|
| 13 |
+ENTRYPOINT ["/dnsmasq-nanny"] |
| 0 | 10 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,45 @@ |
| 0 |
+#!/bin/bash -e |
|
| 1 |
+ |
|
| 2 |
+DIST_TAG=$1 |
|
| 3 |
+DIST_VER=$2 |
|
| 4 |
+SPEC_DIR=$3 |
|
| 5 |
+STAGE_DIR=$4 |
|
| 6 |
+ARCH=x86_64 |
|
| 7 |
+ |
|
| 8 |
+# |
|
| 9 |
+# Docker images for kubernetes-dashboard |
|
| 10 |
+# |
|
| 11 |
+K8S_DASH_VER=`cat ${SPEC_DIR}/kubernetes-dashboard/kubernetes-dashboard.spec | grep Version | cut -d: -f2 | tr -d ' '`
|
|
| 12 |
+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`
|
|
| 13 |
+K8S_DASH_RPM=kubernetes-dashboard-${K8S_DASH_VER_REL}${DIST_TAG}.${ARCH}.rpm
|
|
| 14 |
+K8S_DASH_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${K8S_DASH_RPM}
|
|
| 15 |
+K8S_DASH_TAR=k8s-dashboard.tar |
|
| 16 |
+ |
|
| 17 |
+if [ ! -f ${K8S_DASH_RPM_FILE} ]
|
|
| 18 |
+then |
|
| 19 |
+ echo "Kubernetes Dashboard RPM ${K8S_DASH_RPM_FILE} not found. Exiting.."
|
|
| 20 |
+ exit 1 |
|
| 21 |
+fi |
|
| 22 |
+ |
|
| 23 |
+IMG_NAME=vmware/k8s-dashboard-${DIST_VER}:v${K8S_DASH_VER}
|
|
| 24 |
+ |
|
| 25 |
+IMG_ID=`docker images -q ${IMG_NAME} 2> /dev/null`
|
|
| 26 |
+if [[ ! -z "${IMG_ID}" ]]; then
|
|
| 27 |
+ echo "Removing image ${IMG_NAME}"
|
|
| 28 |
+ docker rmi -f ${IMG_NAME}
|
|
| 29 |
+fi |
|
| 30 |
+ |
|
| 31 |
+mkdir -p tmp/k8dash |
|
| 32 |
+cp ${K8S_DASH_RPM_FILE} tmp/k8dash/
|
|
| 33 |
+pushd ./tmp/k8dash |
|
| 34 |
+rpm2cpio ${K8S_DASH_RPM} | cpio -vid
|
|
| 35 |
+mkdir -p img |
|
| 36 |
+cp -p usr/bin/dashboard img/ |
|
| 37 |
+cp -p -r opt/k8dashboard/* img/ |
|
| 38 |
+cd img |
|
| 39 |
+docker build --rm -t ${IMG_NAME} .
|
|
| 40 |
+docker save -o ${K8S_DASH_TAR} ${IMG_NAME}
|
|
| 41 |
+mv -f ${K8S_DASH_TAR} ${STAGE_DIR}/
|
|
| 42 |
+popd |
|
| 43 |
+ |
|
| 44 |
+rm -rf ./tmp |
| 0 | 45 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,47 @@ |
| 0 |
+#!/bin/bash -e |
|
| 1 |
+ |
|
| 2 |
+DIST_TAG=$1 |
|
| 3 |
+DIST_VER=$2 |
|
| 4 |
+SPEC_DIR=$3 |
|
| 5 |
+STAGE_DIR=$4 |
|
| 6 |
+ARCH=x86_64 |
|
| 7 |
+ |
|
| 8 |
+# |
|
| 9 |
+# Docker images for kubernetes-dns artifacts |
|
| 10 |
+# |
|
| 11 |
+K8S_DNS_VER=`cat ${SPEC_DIR}/kubernetes-dns/kubernetes-dns.spec | grep Version | cut -d: -f2 | tr -d ' '`
|
|
| 12 |
+K8S_DNS_VER_REL=${K8S_DNS_VER}-`cat ${SPEC_DIR}/kubernetes-dns/kubernetes-dns.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
|
|
| 13 |
+K8S_DNS_RPM=kubernetes-dns-${K8S_DNS_VER_REL}${DIST_TAG}.${ARCH}.rpm
|
|
| 14 |
+K8S_DNS_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${K8S_DNS_RPM}
|
|
| 15 |
+K8S_DNS_BINS=(dnsmasq-nanny kube-dns sidecar) |
|
| 16 |
+ |
|
| 17 |
+if [ ! -f ${K8S_DNS_RPM_FILE} ]
|
|
| 18 |
+then |
|
| 19 |
+ echo "Kubernetes DNS RPM ${K8S_DNS_RPM_FILE} not found. Exiting.."
|
|
| 20 |
+ exit 1 |
|
| 21 |
+fi |
|
| 22 |
+ |
|
| 23 |
+for K8S_BIN in ${K8S_DNS_BINS[*]}; do
|
|
| 24 |
+ IMG_NAME=vmware/k8s-dns-${K8S_BIN}-${DIST_VER}:v${K8S_DNS_VER}
|
|
| 25 |
+ IMG_ID=`docker images -q ${IMG_NAME} 2> /dev/null`
|
|
| 26 |
+ if [[ ! -z "${IMG_ID}" ]]; then
|
|
| 27 |
+ echo "Removing image ${IMG_NAME}"
|
|
| 28 |
+ docker rmi -f ${IMG_NAME}
|
|
| 29 |
+ fi |
|
| 30 |
+done |
|
| 31 |
+ |
|
| 32 |
+mkdir -p tmp/k8dns |
|
| 33 |
+cp ${K8S_DNS_RPM_FILE} tmp/k8dns/
|
|
| 34 |
+pushd ./tmp/k8dns |
|
| 35 |
+rpm2cpio ${K8S_DNS_RPM} | cpio -vid
|
|
| 36 |
+popd |
|
| 37 |
+ |
|
| 38 |
+for K8S_BIN in ${K8S_DNS_BINS[*]}; do
|
|
| 39 |
+ IMG_NAME=vmware/k8s-dns-${K8S_BIN}-${DIST_VER}:v${K8S_DNS_VER}
|
|
| 40 |
+ K8S_TAR_NAME=k8s-dns-${K8S_BIN}.tar
|
|
| 41 |
+ docker build --rm -t ${IMG_NAME} -f ./Dockerfile.${K8S_BIN} .
|
|
| 42 |
+ docker save -o ${K8S_TAR_NAME} ${IMG_NAME}
|
|
| 43 |
+ mv -f ${K8S_TAR_NAME} ${STAGE_DIR}/
|
|
| 44 |
+done |
|
| 45 |
+ |
|
| 46 |
+rm -rf ./tmp |