Added CCP deployment scripts

This commit is contained in:
Aleksandr Didenko
2016-06-27 17:57:29 +02:00
parent 0c9826c60f
commit df4fe074f0
15 changed files with 285 additions and 3 deletions

2
ccp/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
microservices-repos
microservices

46
ccp/ccp-build.sh Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
set -e
create_mcp_conf() {
echo "Create mcp config"
cat > /root/mcp.conf << EOF
[builder]
push = True
registry = "127.0.0.1:31500"
[kubernetes]
environment = "openstack"
[repositories]
skip_empty = True
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
}
create_mcp_conf
create_registry
build_images

23
ccp/ccp-deploy.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/bin/bash
set -e
create_network_conf() {
( echo "network:"; i=2; for ip in `cat /root/nodes `; do echo -e " node$i:\n private:\n iface: eth2\n address: $ip"; pip=`echo $ip | perl -pe "s/(\d+).(\d+).1/\${1}.\${2}.0/g"`; echo -e " public:\n iface: eth1\n address: $pip" ; i=$(( i+=1 )) ;done ) > /root/cluster-topology.yaml
}
assign_node_roles() {
kubectl label nodes node2 openstack-role=controller
kubectl label nodes node3 openstack-role=controller
kubectl label nodes node4 openstack-role=compute
kubectl label nodes node5 openstack-role=compute
kubectl label nodes node6 openstack-role=compute
kubectl label nodes node7 openstack-role=compute
}
create_network_conf
assign_node_roles
kubectl delete namespace openstack && sleep 40
mcp-microservices --config-file=/root/mcp.conf deploy -t /root/cluster-topology.yaml

115
ccp/ccp-pull.sh Executable file
View File

@@ -0,0 +1,115 @@
#!/bin/bash
set -e
GERRIT_USER=${1:-$USER}
LOCAL_REPO="microservices-repos"
PROTO="ssh://$GERRIT_USER@"
REMOTE_REPOS="
review.fuel-infra.org:29418/nextgen/ms-aodh
review.fuel-infra.org:29418/nextgen/ms-ceilometer
review.fuel-infra.org:29418/nextgen/ms-ceph
review.fuel-infra.org:29418/nextgen/ms-cinder
review.fuel-infra.org:29418/nextgen/ms-debian-base
review.fuel-infra.org:29418/nextgen/ms-designate
review.fuel-infra.org:29418/nextgen/ms-elasticsearch
review.fuel-infra.org:29418/nextgen/ms-ext-config
review.fuel-infra.org:29418/nextgen/ms-glance
review.fuel-infra.org:29418/nextgen/ms-grafana
review.fuel-infra.org:29418/nextgen/ms-heat
review.fuel-infra.org:29418/nextgen/ms-horizon
review.fuel-infra.org:29418/nextgen/ms-influxdb
review.fuel-infra.org:29418/nextgen/ms-ironic
review.fuel-infra.org:29418/nextgen/ms-keystone
review.fuel-infra.org:29418/nextgen/ms-kibana
review.fuel-infra.org:29418/nextgen/ms-lma
review.fuel-infra.org:29418/nextgen/ms-magnum
review.fuel-infra.org:29418/nextgen/ms-manila
review.fuel-infra.org:29418/nextgen/ms-mariadb
review.fuel-infra.org:29418/nextgen/ms-memcached
review.fuel-infra.org:29418/nextgen/ms-mistral
review.fuel-infra.org:29418/nextgen/ms-mongodb
review.fuel-infra.org:29418/nextgen/ms-murano
review.fuel-infra.org:29418/nextgen/ms-neutron
review.fuel-infra.org:29418/nextgen/ms-nova
review.fuel-infra.org:29418/nextgen/ms-openstack-base
review.fuel-infra.org:29418/nextgen/ms-openvswitch
review.fuel-infra.org:29418/nextgen/ms-rabbitmq
review.fuel-infra.org:29418/nextgen/ms-sahara
review.fuel-infra.org:29418/nextgen/ms-swift
review.fuel-infra.org:29418/nextgen/ms-tempest
review.fuel-infra.org:29418/nextgen/ms-toolbox
review.fuel-infra.org:29418/nextgen/ms-trove
review.fuel-infra.org:29418/nextgen/ms-zaqar
"
cleanup() {
mkdir -p $LOCAL_REPO
rm -rf $LOCAL_REPO/ms-*
rm -rf microservices
}
fetch_mcp() {
git clone "${PROTO}review.fuel-infra.org:29418/nextgen/microservices"
pushd microservices
git review -d 22325
popd
}
fetch_repos() {
pushd $LOCAL_REPO
for remote in $REMOTE_REPOS ; do
git clone "${PROTO}${remote}"
done
popd
}
fetch_app_def() {
echo "Fetch app-def repos"
mariadb=21637
keystone=21848
memcached=21849
rabbitmq=22053
horizon=21850
neutron=21886
ovs=21951
nova=21871
glance=21998
cd $LOCAL_REPO
cd ms-mariadb
git review -d $mariadb
cd -
cd ms-keystone
git review -d $keystone
cd -
cd ms-memcached
git review -d $memcached
cd -
cd ms-rabbitmq
git review -d $rabbitmq
cd -
cd ms-horizon
git review -d $horizon
cd -
cd ms-neutron
git review -d $neutron
cd -
cd ms-openvswitch
git review -d $ovs
cd -
cd ms-nova
git review -d $nova
cd -
cd ms-glance
git review -d $glance
cd -
}
cleanup
fetch_mcp
fetch_repos
fetch_app_def
echo "Microservices pull is complete"

16
ccp/registry_pod.yaml Normal file
View File

@@ -0,0 +1,16 @@
apiVersion: v1
kind: Pod
metadata:
name: registry
labels:
app: registry
spec:
containers:
- name: registry
image: registry:2
env:
imagePullPolicy: Always
ports:
- containerPort: 5000
hostPort: 5000

15
ccp/registry_svc.yaml Normal file
View File

@@ -0,0 +1,15 @@
kind: "Service"
apiVersion: "v1"
metadata:
name: "registry"
spec:
selector:
app: "registry"
ports:
-
protocol: "TCP"
port: 5000
targetPort: 5000
nodePort: 31500
type: "NodePort"