Remove port forward in tests for router, controller and nats pods (#611)

This commit is contained in:
smruthi2187
2018-04-20 19:00:22 -07:00
committed by GitHub
parent ff01cf2452
commit 94e2f11ea6
3 changed files with 49 additions and 26 deletions
+3 -2
View File
@@ -17,7 +17,8 @@ FLUENTD_IMAGE=gcr.io/fission-ci/fluentd
BUILDER_IMAGE=$REPO/builder
TAG=test
PRUNE_INTERVAL=1 # this variable controls the interval to run archivePruner. The unit is in minutes.
ROUTER_SERVICE_TYPE=ClusterIP
ROUTER_SERVICE_TYPE=LoadBalancer
SERVICE_TYPE=LoadBalancer
dump_system_info
@@ -37,4 +38,4 @@ build_and_push_fluentd $FLUENTD_IMAGE:$TAG
build_fission_cli
install_and_test $IMAGE $TAG $FETCHER_IMAGE $TAG $FLUENTD_IMAGE $TAG $PRUNE_INTERVAL $ROUTER_SERVICE_TYPE
install_and_test $IMAGE $TAG $FETCHER_IMAGE $TAG $FLUENTD_IMAGE $TAG $PRUNE_INTERVAL $ROUTER_SERVICE_TYPE $SERVICE_TYPE
+44 -10
View File
@@ -148,6 +148,18 @@ clean_tpr_crd_resources() {
kubectl --namespace default get crd| grep -v NAME| grep "fission.io"| awk '{print $1}'|xargs -I@ bash -c "kubectl --namespace default delete crd @" || true
}
set_environment() {
id=$1
ns=f-$id
export FISSION_URL=http://$(kubectl -n $ns get svc controller -o jsonpath='{...ip}')
export FISSION_ROUTER=$(kubectl -n $ns get svc router -o jsonpath='{...ip}')
export FISSION_NATS_STREAMING_URL="http://defaultFissionAuthToken@$(kubectl -n $ns get svc nats-streaming -o jsonpath='{...ip}:{.spec.ports[0].port}')"
# set path to include cli
export PATH=$ROOT/fission:$PATH
}
generate_test_id() {
echo $(date|md5sum|cut -c1-6)
}
@@ -164,11 +176,12 @@ helm_install_fission() {
fluentdImageTag=${9}
pruneInterval="${10}"
routerServiceType=${11}
serviceType=${12}
ns=f-$id
fns=f-func-$id
helmVars=image=$image,imageTag=$imageTag,fetcherImage=$fetcherImage,fetcherImageTag=$fetcherImageTag,functionNamespace=$fns,controllerPort=$controllerNodeport,routerPort=$routerNodeport,pullPolicy=Always,analytics=false,logger.fluentdImage=$fluentdImage,logger.fluentdImageTag=$fluentdImageTag,pruneInterval=$pruneInterval,routerServiceType=$routerServiceType
helmVars=image=$image,imageTag=$imageTag,fetcherImage=$fetcherImage,fetcherImageTag=$fetcherImageTag,functionNamespace=$fns,controllerPort=$controllerNodeport,routerPort=$routerNodeport,pullPolicy=Always,analytics=false,logger.fluentdImage=$fluentdImage,logger.fluentdImageTag=$fluentdImageTag,pruneInterval=$pruneInterval,routerServiceType=$routerServiceType,serviceType=$serviceType
timeout 30 bash -c "helm_setup"
@@ -215,6 +228,32 @@ dump_tiller_logs() {
}
export -f dump_tiller_logs
wait_for_service() {
id=$1
svc=$2
ns=f-$id
while true
do
ip=$(kubectl -n $ns get svc $svc -o jsonpath='{...ip}')
if [ ! -z $ip ]
then
break
fi
echo Waiting for service $svc...
sleep 1
done
}
wait_for_services() {
id=$1
wait_for_service $id controller
wait_for_service $id router
echo Waiting for service is routable...
sleep 10
}
helm_uninstall_fission() {(set +e
id=$1
@@ -427,6 +466,7 @@ install_and_test() {
fluentdImageTag=$6
pruneInterval=$7
routerServiceType=$8
serviceType=$9
controllerPort=31234
routerPort=31235
@@ -435,7 +475,7 @@ install_and_test() {
id=$(generate_test_id)
trap "helm_uninstall_fission $id" EXIT
helm_install_fission $id $image $imageTag $fetcherImage $fetcherImageTag $controllerPort $routerPort $fluentdImage $fluentdImageTag $pruneInterval $routerServiceType
helm_install_fission $id $image $imageTag $fetcherImage $fetcherImageTag $controllerPort $routerPort $fluentdImage $fluentdImageTag $pruneInterval $routerServiceType $serviceType
helm status $id | grep STATUS | grep -i deployed
if [ $? -ne 0 ]; then
describe_all_pods $id
@@ -444,14 +484,8 @@ install_and_test() {
exit 1
fi
export PATH=$ROOT/fission:$PATH
port_forward_services $id "router" 8888
port_forward_services $id "nats-streaming" 4222
export FISSION_ROUTER="127.0.0.1:8888"
export FISSION_NATS_STREAMING_URL="http://defaultFissionAuthToken@127.0.0.1:4222"
wait_for_services $id
set_environment $id
run_all_tests $id
dump_logs $id
+2 -14
View File
@@ -14,7 +14,6 @@ cleanup() {
if [ -e "/tmp/file" ]; then
rm -rf /tmp/file
fi
ps aux | grep -i "kubectl port-forward controller" | awk {'print $2'} | xargs kill -9 || true
}
create_archive() {
@@ -40,18 +39,10 @@ get_archive_url_from_package() {
url=`kubectl get package $1 -ojsonpath='{.spec.deployment.url}'`
}
port_forward_controller_pod() {
log "Trying to port forward controller pod"
controller_pod=`kubectl get pods -n $FISSION_NAMESPACE| grep controller| tr -s " "| cut -d" " -f1`
controller_port=`kubectl get svc controller -n $FISSION_NAMESPACE -ojsonpath='{.spec.ports[0].targetPort}'`
log "controller pod: $controller_pod, controller port : $controller_port"
kubectl port-forward $controller_pod 9999:8888 -n $FISSION_NAMESPACE &
sleep 4
}
get_archive_from_storage() {
storage_service_url=$1
controller_proxy_url=`echo $storage_service_url | sed -e "s/storagesvc.$FISSION_NAMESPACE/127.0.0.1:9999\/proxy\/storage/"`
controller_ip=$(kubectl -n $FISSION_NAMESPACE get svc controller -o jsonpath='{...ip}')
controller_proxy_url=`echo $storage_service_url | sed -e "s/storagesvc.$FISSION_NAMESPACE/$controller_ip\/proxy\/storage/"`
log "controller_proxy_url=$controller_proxy_url"
http_status=`curl -sw "%{http_code}" $controller_proxy_url -o /tmp/file`
echo "http_status: $http_status"
@@ -90,9 +81,6 @@ main() {
delete_package $pkg_2
log "deleted packages : $pkg_1 $pkg_2"
# port forward controller pod
port_forward_controller_pod
# curl on the archive url
get_archive_from_storage $url_1
log "http_status for $url_1 : $http_status"