Skip to content

Commit

Permalink
vsphere generate-yaml usability changes, timeout for clusterctl (kube…
Browse files Browse the repository at this point in the history
…rnetes-sigs#302)

* vsphere generate-yaml usability changes

* Change timeouts, copy ssh keys if they dontexist
  • Loading branch information
karan authored and k8s-ci-robot committed Jun 7, 2018
1 parent 6cdd7e3 commit 9b3f1a7
Showing 1 changed file with 21 additions and 12 deletions.
33 changes: 21 additions & 12 deletions generate-yaml.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,24 +40,33 @@ while test $# -gt 0; do
done

if [ $OVERWRITE -ne 1 ] && [ -f $PROVIDERCOMPONENT_GENERATED_FILE ]; then
echo File $PROVIDERCOMPONENT_GENERATED_FILE already exists. Delete it manually before running this script.
echo "File $PROVIDERCOMPONENT_GENERATED_FILE already exists. Delete it manually before running this script."
exit 1
fi

if [ ! -f $MACHINE_CONTROLLER_SSH_PRIVATE_FILE ]; then
echo Generate SSH key files fo machine controller
ssh-keygen -t rsa -f $MACHINE_CONTROLLER_SSH_PRIVATE_FILE -N ""
# Check if the ssh key already exists. If not, generate and copy to the .ssh dir.
if [ ! -f $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PRIVATE_FILE ]; then
echo "Generating SSH key files for machine controller."
# This is needed because GetKubeConfig assumes the key in the home .ssh dir.
ssh-keygen -t rsa -f $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PRIVATE_FILE -N ""
fi

# Copy file to home ssh directory till using vsphere GetIP logic that
# does not assume the file at this location
cp $MACHINE_CONTROLLER_SSH_PUBLIC_FILE $MACHINE_CONTROLLER_SSH_HOME
cp $MACHINE_CONTROLLER_SSH_PRIVATE_FILE $MACHINE_CONTROLLER_SSH_HOME

MACHINE_CONTROLLER_SSH_PUBLIC=$(cat $MACHINE_CONTROLLER_SSH_PUBLIC_FILE|base64 -w0)
MACHINE_CONTROLLER_SSH_PRIVATE=$(cat $MACHINE_CONTROLLER_SSH_PRIVATE_FILE|base64 -w0)
OS=$(uname)
if [[ "$OS" =~ "Linux" ]]; then
MACHINE_CONTROLLER_SSH_PUBLIC=$(cat $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PUBLIC_FILE|base64 -w0)
MACHINE_CONTROLLER_SSH_PRIVATE=$(cat $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PRIVATE_FILE|base64 -w0)
elif [[ "$OS" =~ "Darwin" ]]; then
MACHINE_CONTROLLER_SSH_PUBLIC=$(cat $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PUBLIC_FILE|base64)
MACHINE_CONTROLLER_SSH_PRIVATE=$(cat $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PRIVATE_FILE|base64)
else
echo "Unrecognized OS : $OS"
exit 1
fi

cat $PROVIDERCOMPONENT_TEMPLATE_FILE \
| sed -e "s/\$MACHINE_CONTROLLER_SSH_PUBLIC/$MACHINE_CONTROLLER_SSH_PUBLIC/" \
| sed -e "s/\$MACHINE_CONTROLLER_SSH_PRIVATE/$MACHINE_CONTROLLER_SSH_PRIVATE/" \
> $PROVIDERCOMPONENT_GENERATED_FILE
> $PROVIDERCOMPONENT_GENERATED_FILE

echo "Done generating $PROVIDERCOMPONENT_GENERATED_FILE"
echo "You will still need to generate the cluster.yaml and machines.yaml"

0 comments on commit 9b3f1a7

Please sign in to comment.