github.com/vmware/govmomi@v0.37.2/scripts/devbox/vcp-local-up-cluster.sh (about)

     1  #!/bin/bash -e
     2  
     3  # Generate vSphere Cloud Provider config from govc env and run local-up-cluster.sh
     4  # Assumes the create.sh NFS configuration has been applied.
     5  
     6  GOVC_NETWORK=${GOVC_NETWORK:-"VM Network"}
     7  GOVC_DATACENTER=${GOVC_DATACENTER:-"$(govc find / -type d)"}
     8  GOVC_DATACENTER="$(basename "$GOVC_DATACENTER")"
     9  GOVC_CLUSTER=${GOVC_CLUSTER:-"$(govc find / -type c -type r)"}
    10  
    11  oneline() {
    12    awk '{printf "%s\\n", $0}' "$1" # make gcfg happy
    13  }
    14  
    15  username="$(govc env GOVC_USERNAME)"
    16  password="$(govc env GOVC_PASSWORD)"
    17  if [ -n "$GOVC_CERTIFICATE" ] ; then
    18    username="$(oneline "$GOVC_CERTIFICATE")"
    19    password="$(oneline "$GOVC_PRIVATE_KEY")"
    20  fi
    21  
    22  cat <<EOF | tee vcp.conf
    23  [Global]
    24          insecure-flag = "$(govc env GOVC_INSECURE)"
    25  
    26  [VirtualCenter "$(govc env -x GOVC_URL_HOST)"]
    27          user = "$username"
    28          password = "$password"
    29          port = "$(govc env -x GOVC_URL_PORT)"
    30          datacenters = "$(basename "$GOVC_DATACENTER")"
    31  
    32  [Workspace]
    33          server = "$(govc env -x GOVC_URL_HOST)"
    34          datacenter = "$GOVC_DATACENTER"
    35          folder = "vm"
    36          default-datastore = "$GOVC_DATACENTER"
    37          resourcepool-path = "$GOVC_CLUSTER/Resources"
    38  [Disk]
    39          scsicontrollertype = pvscsi
    40  
    41  [Network]
    42          public-network = "$GOVC_NETWORK"
    43  EOF
    44  
    45  k8s="$GOPATH/src/k8s.io/kubernetes"
    46  make -C "$k8s" WHAT="cmd/kubectl cmd/hyperkube"
    47  
    48  ip=$(govc vm.ip -a -v4 "$USER-ubuntu-16.04")
    49  
    50  # shellcheck disable=2029
    51  ssh -tt </dev/null -i ~/.vagrant.d/insecure_private_key -L 8080:127.0.0.1:8080 "vagrant@$ip" \
    52      CLOUD_PROVIDER=vsphere CLOUD_CONFIG="$PWD/vcp.conf" LOG_DIR="$LOG_DIR" \
    53      PATH="$PATH:$k8s/third_party/etcd" "$k8s/hack/local-up-cluster.sh" -O