Change:
Retrying after gave no joy.
Trying did not help.
will fix it. The problem is that your kubeconfig's current-context doesn't have a corresponding context entry. I'll see if I can make it gce's kube-up little more robust to invalid kubeconfig entries.
Thank you kindly for your help again. My brain is simply not large enough to remember all this.

Discussion:
echo "Cleared config for ${CONTEXT} from ${KUBECONFIG}" } <ins> # Gets username, password for the current-context in kubeconfig, if they exist. # Assumed vars: #   KUBECONFIG  # if unset, defaults to global # # Vars set: #   KUBE_USER #   KUBE_PASSWORD # # KUBE_USER,KUBE_PASSWORD will be empty if no current-context is set, or # the current-context user does not exist or contain basicauth entries. function get-kubeconfig-basicauth() { # Templates to safely extract the username,password for the current-context # user.  The long chain of 'with' commands avoids indexing nil if any of the # entries ("current-context", "contexts"."current-context", "users", etc) # is missing. # Note: we save dot ('.') to $root because the 'with' action overrides it. # See http://golang.org/pkg/text/template/. local username='{{$root := .}}{{with index $root "current-context"}}{{with index $root "contexts" .}}{{with index . "user"}}{{with index $root "users" .}}{{index . "username"}}{{end}}{{end}}{{end}}{{end}}' local password='{{$root := .}}{{with index $root "current-context"}}{{with index $root "contexts" .}}{{with index . "user"}}{{with index $root "users" .}}{{index . "password"}}{{end}}{{end}}{{end}}{{end}}' KUBE_USER=$("${KUBE_ROOT}/cluster/kubectl.sh" config view -o template --template="${username}") KUBE_PASSWORD=$("${KUBE_ROOT}/cluster/kubectl.sh" config view -o template --template="${password}") # Handle empty/missing username|password if [[ "${KUBE_USER}" == '<no value>' || "$KUBE_PASSWORD" == '<no value>' ]]; then KUBE_USER='' KUBE_PASSWORD='' fi } </ins>

} # Ensure that we have a password created for validating to the master.  Will <del> # read from the kubernetes auth-file for the current context if available. </del> <ins> # read from kubeconfig for the current context if available. </ins> # # Assumed vars #   KUBE_ROOT

#   KUBE_USER #   KUBE_PASSWORD function get-password { <del> # templates to extract the username,password for the current-context user # Note: we save dot ('.') to $dot because the 'with' action overrides dot local username='{{$dot := .}}{{with $ctx := index $dot "current-context"}}{{$user := index $dot "contexts" $ctx "user"}}{{index $dot "users" $user "username"}}{{end}}' local password='{{$dot := .}}{{with $ctx := index $dot "current-context"}}{{$user := index $dot "contexts" $ctx "user"}}{{index $dot "users" $user "password"}}{{end}}' KUBE_USER=$("${KUBE_ROOT}/cluster/kubectl.sh" config view -o template --template="${username}") KUBE_PASSWORD=$("${KUBE_ROOT}/cluster/kubectl.sh" config view -o template --template="${password}") </del> <ins> get-kubeconfig-basicauth </ins> if [[ -z "${KUBE_USER}" || -z "${KUBE_PASSWORD}" ]]; then KUBE_USER=admin KUBE_PASSWORD=$(python -c 'import string,random; print "".join(random.SystemRandom().choice(string.ascii_letters + string.digits) for _ in range(16))')