85 lines
2.1 KiB
Bash
Executable File
85 lines
2.1 KiB
Bash
Executable File
#!/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
|
|
|