#!/bin/bash set -e workspace=`pwd` tag=`git rev-parse --short HEAD` IMG=kubespheredev/ks-network:$tag DEST=/tmp/manager.yaml TEST_NS=network-test-$tag SKIP_BUILD=no STORE_MODE=etcd MODE=test export TEST_NAMESPACE=$TEST_NS export YAML_PATH=$DEST export CRD_PATH=$workspace/kustomize/crds export DEPLOY_NAME=network-manager while [[ $# -gt 0 ]] do key="$1" case $key in -s|--skip-build) SKIP_BUILD=yes shift # past argument ;; -n|--NAMESPACE) TEST_NS=$2 shift # past argument shift # past value ;; -t|--tag) tag="$2" shift # past argument shift # past value ;; -S|--store-mode) STORE_MODE="$2" shift # past argument shift # past value ;; -m|--mode) MODE="$2" shift # past argument shift # past value ;; --default) DEFAULT=YES shift # past argument ;; *) # unknown option POSITIONAL+=("$1") # save it in an array for later shift # past argument ;; esac done if [ $SKIP_BUILD == "no" ]; then echo "Building binary" hack/gobuild.sh cmd/ks-network docker build -f build/ks-network/Dockerfile -t $IMG bin/cmd echo "Push images" docker push $IMG fi kustomize_dir="./kustomize/network/calico-${STORE_MODE}" if [ "$(uname)" == "Darwin" ]; then sed -i '' -e 's/namespace: .*/namespace: '"${TEST_NS}"'/' $kustomize_dir/kustomization.yaml sed -i '' -e 's/namespace: .*/namespace: '"${TEST_NS}"'/' $kustomize_dir/patch_role_binding.yaml sed -i '' -e 's@image: .*@image: '"${IMG}"'@' $kustomize_dir/patch_image_name.yaml else sed -i -e 's/namespace: .*/namespace: '"${TEST_NS}"'/' $kustomize_dir/patch_role_binding.yaml sed -i -e 's/namespace: .*/namespace: '"${TEST_NS}"'/' $kustomize_dir/kustomization.yaml sed -i -e 's@image: .*@image: '"${IMG}"'@' $kustomize_dir/patch_image_name.yaml fi kustomize build $kustomize_dir -o $DEST if [ $MODE == "test" ]; then ginkgo -v ./test/e2e/... elif [ $MODE == "debug" ]; then kubectl create ns $TEST_NS --dry-run -o yaml | kubectl apply -f - kubectl apply -f $DEST fi