diff --git a/cluster/rackspace/cloud-config/master-cloud-config.yaml b/cluster/rackspace/cloud-config/master-cloud-config.yaml index 6a7214c28c6..0d171c0dd5f 100644 --- a/cluster/rackspace/cloud-config/master-cloud-config.yaml +++ b/cluster/rackspace/cloud-config/master-cloud-config.yaml @@ -23,12 +23,19 @@ write_files: permissions: 0755 content: | #!/bin/bash + # This temp URL is only good for the length of time specified at cluster creation time. + # Afterward, it will result in a 403. OBJECT_URL="CLOUD_FILES_URL" - echo "Downloading release ($OBJECT_URL)" - wget "${OBJECT_URL}" -O /opt/kubernetes.tar.gz - echo "Unpacking release" - rm -rf /opt/kubernetes || false - tar xzf /opt/kubernetes.tar.gz -C /opt/ + if [ ! -s /opt/kubernetes.tar.gz ] + then + echo "Downloading release ($OBJECT_URL)" + wget "${OBJECT_URL}" -O /opt/kubernetes.tar.gz + echo "Unpacking release" + rm -rf /opt/kubernetes || false + tar xzf /opt/kubernetes.tar.gz -C /opt/ + else + echo "kubernetes release found. Skipping download." + fi - path: /opt/.kubernetes_auth permissions: 0600 content: | diff --git a/cluster/rackspace/util.sh b/cluster/rackspace/util.sh index eff0161e4fb..50d7663c007 100644 --- a/cluster/rackspace/util.sh +++ b/cluster/rackspace/util.sh @@ -106,7 +106,8 @@ find-object-url() { KUBE_TAR=${CLOUDFILES_CONTAINER}/${CONTAINER_PREFIX}/kubernetes-server-linux-amd64.tar.gz - RELEASE_TMP_URL=$(swiftly -A ${OS_AUTH_URL} -U ${OS_USERNAME} -K ${OS_PASSWORD} tempurl GET ${KUBE_TAR}) + # Create temp URL good for 24 hours + RELEASE_TMP_URL=$(swiftly -A ${OS_AUTH_URL} -U ${OS_USERNAME} -K ${OS_PASSWORD} tempurl GET ${KUBE_TAR} 86400 ) echo "cluster/rackspace/util.sh: Object temp URL:" echo -e "\t${RELEASE_TMP_URL}"