Comment and whitespace fixes.

This commit is contained in:
Jeff Mendoza 2014-07-18 12:28:18 -07:00
parent 3ff6b0f8a6
commit b4183409ab
4 changed files with 84 additions and 46 deletions

View File

@ -1,10 +1,24 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Tear down a Kubernetes cluster.
SCRIPT_DIR=$(CDPATH="" cd $(dirname $0); pwd)
source $SCRIPT_DIR/../release/config-azure.sh
source $SCRIPT_DIR/util.sh
echo "Bringing down cluster"
azure vm delete $MASTER_NAME -b -q
for (( i=0; i<${#MINION_NAMES[@]}; i++)); do

View File

@ -15,10 +15,6 @@
# limitations under the License.
# Bring up a Kubernetes cluster.
#
# If the full release name (gs://<bucket>/<release>) is passed in then we take
# that directly. If not then we assume we are doing development stuff and take
# the defaults in the release config.
# exit on any error
set -eu
@ -33,7 +29,8 @@ trap "rm -rf ${KUBE_TEMP}" EXIT
get-password
echo "Using password: $user:$passwd"
python $SCRIPT_DIR/../third_party/htpasswd/htpasswd.py -b -c ${KUBE_TEMP}/htpasswd $user $passwd
python $SCRIPT_DIR/../third_party/htpasswd/htpasswd.py -b -c \
${KUBE_TEMP}/htpasswd $user $passwd
HTPASSWD=$(cat ${KUBE_TEMP}/htpasswd)
# Build up start up script for master
@ -51,11 +48,12 @@ echo "Starting VMs"
if [ ! -f $AZ_SSH_KEY ]; then
ssh-keygen -f $AZ_SSH_KEY -N ''
fi
if [ ! -f $AZ_SSH_CERT ]; then
openssl req -new -key $AZ_SSH_KEY -out ${KUBE_TEMP}/temp.csr \
-subj "/C=US/ST=WA/L=Redmond/O=Azure-CLI/CN=Azure"
openssl req -x509 -key $AZ_SSH_KEY -in ${KUBE_TEMP}/temp.csr -out $AZ_SSH_CERT -days 1095
-subj "/C=US/ST=WA/L=Redmond/O=Azure-CLI/CN=Azure"
openssl req -x509 -key $AZ_SSH_KEY -in ${KUBE_TEMP}/temp.csr \
-out $AZ_SSH_CERT -days 1095
rm ${KUBE_TEMP}/temp.csr
fi
@ -66,7 +64,6 @@ if [ -z "$(azure network vnet show $AZ_VNET 2>/dev/null | grep data)" ]; then
exit 1
fi
azure vm create \
-w $AZ_VNET \
-n $MASTER_NAME \
@ -77,33 +74,29 @@ azure vm create \
-b $AZ_SUBNET \
$AZ_CS $AZ_IMAGE $USER
ssh_ports=($(eval echo "2200{1..$NUM_MINIONS}"))
for (( i=0; i<${#MINION_NAMES[@]}; i++)); do
(
echo "#!/bin/bash"
echo "MASTER_NAME=${MASTER_NAME}"
echo "MINION_IP_RANGE=${MINION_IP_RANGES[$i]}"
grep -v "^#" $SCRIPT_DIR/templates/salt-minion-azure.sh
echo "#!/bin/bash"
echo "MASTER_NAME=${MASTER_NAME}"
echo "MINION_IP_RANGE=${MINION_IP_RANGES[$i]}"
grep -v "^#" $SCRIPT_DIR/templates/salt-minion-azure.sh
) > ${KUBE_TEMP}/minion-start-${i}.sh
azure vm create \
-c -w $AZ_VNET \
-n ${MINION_NAMES[$i]} \
-l "$AZ_LOCATION" \
-t $AZ_SSH_CERT \
-e ${ssh_ports[$i]} -P \
-d ${KUBE_TEMP}/minion-start-${i}.sh \
-b $AZ_SUBNET \
$AZ_CS $AZ_IMAGE $USER
-c -w $AZ_VNET \
-n ${MINION_NAMES[$i]} \
-l "$AZ_LOCATION" \
-t $AZ_SSH_CERT \
-e ${ssh_ports[$i]} -P \
-d ${KUBE_TEMP}/minion-start-${i}.sh \
-b $AZ_SUBNET \
$AZ_CS $AZ_IMAGE $USER
done
azure vm endpoint create $MASTER_NAME 443
echo " https://${user}:${passwd}@$AZ_CS.cloudapp.net"
echo "Waiting for cluster initialization."
echo
echo " This will continually check to see if the API for kubernetes is reachable."
@ -122,7 +115,7 @@ for (( i=0; i<${#MINION_NAMES[@]}; i++)); do
# Make sure docker is installed
ssh -i $AZ_SSH_KEY -p ${ssh_ports[$i]} $AZ_CS.cloudapp.net which docker > /dev/null
if [ "$?" != "0" ]; then
echo "Docker failed to install on ${MINION_NAMES[$i]} your cluster is unlikely to work correctly"
echo "Docker failed to install on ${MINION_NAMES[$i]} your cluster is unlikely to work correctly"
echo "Please run ./cluster/kube-down.sh and re-create the cluster. (sorry!)"
exit 1
fi
@ -130,7 +123,7 @@ for (( i=0; i<${#MINION_NAMES[@]}; i++)); do
# Make sure the kubelet is running
ssh -i $AZ_SSH_KEY -p ${ssh_ports[$i]} $AZ_CS.cloudapp.net /etc/init.d/kubelet status
if [ "$?" != "0" ]; then
echo "Kubelet failed to install on ${MINION_NAMES[$i]} your cluster is unlikely to work correctly"
echo "Kubelet failed to install on ${MINION_NAMES[$i]} your cluster is unlikely to work correctly"
echo "Please run ./cluster/kube-down.sh and re-create the cluster. (sorry!)"
exit 1
fi

View File

@ -1,3 +1,16 @@
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
AZ_LOCATION='West US'
AZ_SSH_KEY=$HOME/.ssh/azure
@ -8,11 +21,13 @@ TAG=testing
if [ -z "$(which azure)" ]; then
echo "Couldn't find azure in PATH"
echo " please install with 'npm install azure-cli'"
exit 1
fi
if [ -z "$(azure account list | grep true)" ]; then
echo "Default azure account not set"
echo " please set with 'azure account set'"
exit 1
fi

View File

@ -1,12 +1,28 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This script will build and release Kubernetes.
set -eu
set -o pipefail
IFS=$'\n\t'
SCRIPT_DIR=$(CDPATH="" cd $(dirname $0); pwd)
function json_val () {
python -c 'import json,sys;obj=json.load(sys.stdin);print obj'$1'';
function json_val () {
python -c 'import json,sys;obj=json.load(sys.stdin);print obj'$1'';
}
source $SCRIPT_DIR/config-azure.sh
@ -14,30 +30,30 @@ source $SCRIPT_DIR/../cluster/${KUBE_CONFIG_FILE-"config-default.sh"}
$SCRIPT_DIR/build-release.sh $INSTANCE_PREFIX
if [ -z "$(azure storage account show $STG_ACCOUNT 2>/dev/null | grep data)" ]; then
if [ -z "$(azure storage account show $STG_ACCOUNT 2>/dev/null | \
grep data)" ]; then
azure storage account create -l "$AZ_LOCATION" $STG_ACCOUNT
fi
stg_key=$(azure storage account keys list $STG_ACCOUNT --json | json_val '["primaryKey"]')
stg_key=$(azure storage account keys list $STG_ACCOUNT --json | \
json_val '["primaryKey"]')
if [ -z "$(azure storage container show -a $STG_ACCOUNT -k "$stg_key" $CONTAINER 2>/dev/null | grep data)" ]; then
if [ -z "$(azure storage container show -a $STG_ACCOUNT -k "$stg_key" \
$CONTAINER 2>/dev/null | grep data)" ]; then
azure storage container create \
-a $STG_ACCOUNT \
-k "$stg_key" \
-p Blob \
$CONTAINER
-a $STG_ACCOUNT \
-k "$stg_key" \
-p Blob \
$CONTAINER
fi
if [ -n "$(azure storage blob show \
-a $STG_ACCOUNT \
-k "$stg_key" \
$CONTAINER \
master-release.tgz 2>/dev/null | grep data)" ]; then
if [ -n "$(azure storage blob show -a $STG_ACCOUNT -k "$stg_key" \
$CONTAINER master-release.tgz 2>/dev/null | grep data)" ]; then
azure storage blob delete \
-a $STG_ACCOUNT \
-k "$stg_key" \
$CONTAINER \
master-release.tgz
-a $STG_ACCOUNT \
-k "$stg_key" \
$CONTAINER \
master-release.tgz
fi
azure storage blob upload \