c12s-kubespray/ccp/ccp-build.sh
2016-07-04 15:22:30 +02:00

95 lines
1.8 KiB
Bash
Executable file

#!/bin/bash
set -e
PREBUILT="$1"
create_mcp_conf() {
echo "Create mcp config"
cat > /root/mcp.conf << EOF
[builder]
push = True
[registry]
address = "127.0.0.1:31500"
[kubernetes]
environment = "openstack"
[repositories]
skip_empty = True
EOF
}
create_mirantis_mcp_conf() {
echo "Create mcp config"
cat > /root/mcp.conf << EOF
[builder]
push = False
[registry]
address = "registry01-bud.ng.mirantis.net"
insecure = True
[images]
namespace = "nextgen"
[kubernetes]
environment = "openstack"
[repositories]
skip_empty = True
EOF
}
create_resolvconf() {
DNS_IP=`kubectl get service/kubedns --namespace=kube-system --template={{.spec.clusterIP}}`
cat > /root/resolv.conf << EOF
search openstack.svc.cluster.local svc.cluster.local cluster.local default.svc.cluster.local svc.cluster.local cluster.local
nameserver $DNS_IP
options attempts:2
options ndots:5
EOF
}
create_registry() {
if kubectl get pods | grep registry ; then
echo "Registry is already running"
else
echo "Create registry"
kubectl create -f registry_pod.yaml
kubectl create -f registry_svc.yaml
fi
}
build_images() {
echo "Waiting for registry to start..."
while true
do
STATUS=$(kubectl get pod | awk '/registry/ {print $3}')
if [ "$STATUS" == "Running" ]
then
break
fi
sleep 1
done
mcp-microservices --config-file /root/mcp.conf build &> /var/log/mcp-build.log
}
hack_images() {
# useless, but let's keep it just in case we need to hack something else
for dir in ~/microservices-repos/ms-*/docker/* ; do
cp /root/resolv.conf $dir/
sed '/MAINTAINER/a COPY resolv.conf /var/tmp/resolv.conf' -i $dir/Dockerfile.j2
done
}
create_registry
if [ -n "$PREBUILT" ]; then
create_mirantis_mcp_conf
else
create_mcp_conf
build_images
fi