diff --git a/deploy/kubernetes/README.md b/deploy/kubernetes/README.md index f7b930fdf..60e26772f 100644 --- a/deploy/kubernetes/README.md +++ b/deploy/kubernetes/README.md @@ -14,5 +14,5 @@ $ ./deploy/kubernetes/deploy_driver.sh ``` 3. Create example PVC and Pod ``` -$ kubectl create -f ./examples/demo-pod.yaml +$ kubectl apply -f ./examples/demo-pod.yaml ``` \ No newline at end of file diff --git a/deploy/kubernetes/delete-driver.sh b/deploy/kubernetes/delete-driver.sh old mode 100644 new mode 100755 index 3f65a8522..6306bacb9 --- a/deploy/kubernetes/delete-driver.sh +++ b/deploy/kubernetes/delete-driver.sh @@ -1,4 +1,8 @@ #!/bin/bash -kubectl delete -f node.yaml -kubectl delete -f controller.yaml +set -o nounset +set -o errexit + +kubectl delete -f node.yaml --ignore-not-found +kubectl delete -f controller.yaml --ignore-not-found +kubectl delete -f setup-cluster.yaml --ignore-not-found \ No newline at end of file diff --git a/deploy/kubernetes/deploy-driver.sh b/deploy/kubernetes/deploy-driver.sh old mode 100644 new mode 100755 index 02d7abf4b..aa26aa306 --- a/deploy/kubernetes/deploy-driver.sh +++ b/deploy/kubernetes/deploy-driver.sh @@ -1,6 +1,12 @@ #!/bin/bash -source ./common.sh -kubectl create secret generic cloud-sa --from-file=$SA_FILE -kubectl create -f setup-cluster.yaml -kubectl create -f node.yaml -kubectl create -f controller.yaml \ No newline at end of file + +set -o nounset +set -o errexit + +if ! kubectl get secret cloud-sa; +then + kubectl create secret generic cloud-sa --from-file="${SA_FILE}" +fi +kubectl apply -f setup-cluster.yaml +kubectl apply -f node.yaml +kubectl apply -f controller.yaml \ No newline at end of file diff --git a/deploy/setup-project.sh b/deploy/setup-project.sh old mode 100644 new mode 100755 index 888e53422..3a9b498e1 --- a/deploy/setup-project.sh +++ b/deploy/setup-project.sh @@ -1,6 +1,17 @@ #!/bin/bash -IAM_NAME="$GCEPD_SA_NAME@$PROJECT.iam.gserviceaccount.com" -gcloud iam service-accounts create $GCEPD_SA_NAME -gcloud iam service-accounts keys create $SA_FILE --iam-account $IAM_NAME -gcloud projects add-iam-policy-binding $PROJECT --member serviceAccount:$IAM_NAME --role roles/compute.storageAdmin roles/compute.admin +set -o nounset +set -o errexit + +IAM_NAME="${GCEPD_SA_NAME}@${PROJECT}.iam.gserviceaccount.com" + +# Cleanup old Service Account and Key +rm -f "${SA_FILE}" +gcloud iam service-accounts delete "${IAM_NAME}" --quiet +# TODO: Delete ALL policy bindings + +# Create new Service Account and Keys +gcloud iam service-accounts create "${GCEPD_SA_NAME}" +gcloud iam service-accounts keys create "${SA_FILE}" --iam-account "${IAM_NAME}" +# TODO: Reduce scope of role to only what it necessary when cloud IAM fixes bugs. +gcloud projects add-iam-policy-binding "${PROJECT}" --member serviceAccount:"${IAM_NAME}" --role roles/owner diff --git a/test/run-tests.sh b/test/run-tests.sh new file mode 100755 index 000000000..63a59e405 --- /dev/null +++ b/test/run-tests.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -e +set -x + +readonly PKGDIR=github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver + +go test -timeout 30s "${PKGDIR}/test/sanity/" -run ^TestSanity$ +go run "$GOPATH/src/${PKGDIR}/test/remote/run_remote/run_remote.go" --logtostderr --v 2 --project "${PROJECT}" --zone "${ZONE}" --ssh-env gce --delete-instances=false --cleanup=false --results-dir=my_test