mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Make kube-up wait for the libvirt-coreos cluster to be ready
so that validate-cluster passes.
This commit is contained in:
		@@ -156,6 +156,25 @@ function render-template {
 | 
				
			|||||||
  eval "echo \"$(cat $1)\""
 | 
					  eval "echo \"$(cat $1)\""
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function wait-cluster-readiness {
 | 
				
			||||||
 | 
					  echo "Wait for cluster readiness"
 | 
				
			||||||
 | 
					  local kubectl="${KUBE_ROOT}/cluster/kubectl.sh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  local timeout=50
 | 
				
			||||||
 | 
					  while [[ $timeout -ne 0 ]]; do
 | 
				
			||||||
 | 
					    nb_ready_minions=$("${kubectl}" get minions -o template -t "{{range.items}}{{range.status.conditions}}{{.kind}}{{end}}:{{end}}" 2>/dev/null | tr ':' '\n' | grep -c Ready || true)
 | 
				
			||||||
 | 
					    echo "Nb ready minions: $nb_ready_minions / $NUM_MINIONS"
 | 
				
			||||||
 | 
					    if [[ "$nb_ready_minions" -eq "$NUM_MINIONS" ]]; then
 | 
				
			||||||
 | 
					        return 0
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    timeout=$(($timeout-1))
 | 
				
			||||||
 | 
					    sleep .5
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Instantiate a kubernetes cluster
 | 
					# Instantiate a kubernetes cluster
 | 
				
			||||||
function kube-up {
 | 
					function kube-up {
 | 
				
			||||||
  detect-master
 | 
					  detect-master
 | 
				
			||||||
@@ -194,6 +213,15 @@ function kube-up {
 | 
				
			|||||||
    virsh create $domain_xml
 | 
					    virsh create $domain_xml
 | 
				
			||||||
    rm $domain_xml
 | 
					    rm $domain_xml
 | 
				
			||||||
  done
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  wait-cluster-readiness
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  echo "Kubernetes cluster is running. The master is running at:"
 | 
				
			||||||
 | 
					  echo
 | 
				
			||||||
 | 
					  echo "  http://${KUBE_MASTER_IP}:8080"
 | 
				
			||||||
 | 
					  echo
 | 
				
			||||||
 | 
					  echo "You can control the Kubernetes cluster with: 'cluster/kubectl.sh'"
 | 
				
			||||||
 | 
					  echo "You can connect on the master with: 'ssh core@${KUBE_MASTER_IP}'"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Delete a kubernetes cluster
 | 
					# Delete a kubernetes cluster
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -69,7 +69,7 @@ for (( i=0; i<${#MINION_NAMES[@]}; i++)); do
 | 
				
			|||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    name="${MINION_NAMES[$i]}"
 | 
					    name="${MINION_NAMES[$i]}"
 | 
				
			||||||
    if [ "$KUBERNETES_PROVIDER" != "vsphere" ] && [ "$KUBERNETES_PROVIDER" != "vagrant" ]; then
 | 
					    if [ "$KUBERNETES_PROVIDER" != "vsphere" ] && [ "$KUBERNETES_PROVIDER" != "vagrant" ] && [ "$KUBERNETES_PROVIDER" != "libvirt-coreos" ]; then
 | 
				
			||||||
      # Grab fully qualified name
 | 
					      # Grab fully qualified name
 | 
				
			||||||
      name=$(grep "${MINION_NAMES[$i]}\." "${MINIONS_FILE}")
 | 
					      name=$(grep "${MINION_NAMES[$i]}\." "${MINIONS_FILE}")
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
@@ -79,8 +79,13 @@ for (( i=0; i<${#MINION_NAMES[@]}; i++)); do
 | 
				
			|||||||
    attempt=0
 | 
					    attempt=0
 | 
				
			||||||
    while true; do
 | 
					    while true; do
 | 
				
			||||||
      echo -n "Attempt $((attempt+1)) at checking Kubelet installation on node ${MINION_NAMES[$i]} ..."
 | 
					      echo -n "Attempt $((attempt+1)) at checking Kubelet installation on node ${MINION_NAMES[$i]} ..."
 | 
				
			||||||
 | 
					      if [ "$KUBERNETES_PROVIDER" != "libvirt-coreos" ]; then
 | 
				
			||||||
        curl_output=$(curl -s --insecure --user "${KUBE_USER}:${KUBE_PASSWORD}" \
 | 
					        curl_output=$(curl -s --insecure --user "${KUBE_USER}:${KUBE_PASSWORD}" \
 | 
				
			||||||
          "https://${KUBE_MASTER_IP}/api/v1beta1/proxy/minions/${name}/healthz")
 | 
					          "https://${KUBE_MASTER_IP}/api/v1beta1/proxy/minions/${name}/healthz")
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        curl_output=$(curl -s \
 | 
				
			||||||
 | 
					          "http://${KUBE_MASTER_IP}:8080/api/v1beta1/proxy/minions/${name}/healthz")
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
      if [[ "${curl_output}" != "ok" ]]; then
 | 
					      if [[ "${curl_output}" != "ok" ]]; then
 | 
				
			||||||
          if (( attempt > 5 )); then
 | 
					          if (( attempt > 5 )); then
 | 
				
			||||||
            echo
 | 
					            echo
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user