Fix spec command overrides existing archive's url of a package (#764)
This commit is contained in:
+2
-2
@@ -828,8 +828,8 @@ func applyArchives(fclient *client.Client, specDir string, fr *FissionResources)
|
|||||||
// does the archive exist already?
|
// does the archive exist already?
|
||||||
if url, ok := availableArchives[ar.Checksum.Sum]; ok {
|
if url, ok := availableArchives[ar.Checksum.Sum]; ok {
|
||||||
fmt.Printf("archive %v exists, not uploading\n", name)
|
fmt.Printf("archive %v exists, not uploading\n", name)
|
||||||
a := archiveFiles[name]
|
ar.URL = url
|
||||||
a.URL = url
|
archiveFiles[name] = ar
|
||||||
} else {
|
} else {
|
||||||
// doesn't exist, upload
|
// doesn't exist, upload
|
||||||
fmt.Printf("uploading archive %v\n", name)
|
fmt.Printf("uploading archive %v\n", name)
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ cleanup() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
wait_for_builder() {
|
wait_for_builder() {
|
||||||
|
JSONPATH='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}'
|
||||||
|
|
||||||
# wait for tiller ready
|
# wait for tiller ready
|
||||||
while true; do
|
while true; do
|
||||||
kubectl --namespace fission-builder get pod -l envName=go|grep Running
|
kubectl --namespace fission-builder get pod -l envName=go -o jsonpath="$JSONPATH" | grep "Ready=True"
|
||||||
if [[ $? -eq 0 ]]; then
|
if [[ $? -eq 0 ]]; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@@ -21,12 +23,23 @@ wait_for_builder() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
waitBuild() {
|
||||||
|
log "Waiting for builder manager to finish the build"
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
kubectl --namespace default get packages $1 -o jsonpath='{.status.buildstatus}'|grep succeeded
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
test_fn() {
|
test_fn() {
|
||||||
echo "Checking for valid response"
|
log "Checking for valid response"
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
response0=$(curl http://$FISSION_ROUTER/$1)
|
response0=$(curl http://$FISSION_ROUTER/$1)
|
||||||
echo $response0 | grep -i $2
|
log $response0 | grep -i $2
|
||||||
if [[ $? -eq 0 ]]; then
|
if [[ $? -eq 0 ]]; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@@ -35,26 +48,33 @@ test_fn() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export -f wait_for_builder
|
export -f wait_for_builder
|
||||||
|
export -f waitBuild
|
||||||
export -f test_fn
|
export -f test_fn
|
||||||
|
|
||||||
cd $ROOT/examples/go
|
cd $ROOT/examples/go
|
||||||
|
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
log "Creating environment for Golang"
|
log "Creating environment for Golang"
|
||||||
fission env create --name go --image gcr.io/fission-ci/go-env:test --builder gcr.io/fission-ci/go-env-builder:test --period 5
|
fission env create --name go --image gcr.io/fission-ci/go-env:test --builder gcr.io/fission-ci/go-env-builder:test --period 5
|
||||||
|
|
||||||
timeout 90 bash -c "wait_for_builder"
|
timeout 90 bash -c "wait_for_builder"
|
||||||
|
|
||||||
|
pkgName=$(fission package create --src hello.go --env go| cut -f2 -d' '| tr -d \')
|
||||||
|
|
||||||
|
# wait for build to finish at most 60s
|
||||||
|
timeout 90 bash -c "waitBuild $pkgName"
|
||||||
|
|
||||||
log "Creating pool manager & new deployment function for Golang"
|
log "Creating pool manager & new deployment function for Golang"
|
||||||
fission fn create --name hello-go-poolmgr --env go --src hello.go --entrypoint Handler
|
fission fn create --name hello-go-poolmgr --env go --pkg $pkgName --entrypoint Handler
|
||||||
fission fn create --name hello-go-nd --env go --src hello.go --entrypoint Handler --executortype newdeploy
|
fission fn create --name hello-go-nd --env go --pkg $pkgName --entrypoint Handler --executortype newdeploy
|
||||||
trap cleanup EXIT
|
|
||||||
|
|
||||||
log "Creating route for new deployment function"
|
log "Creating route for new deployment function"
|
||||||
fission route create --function hello-go-poolmgr --url /hello-go-poolmgr --method GET
|
fission route create --function hello-go-poolmgr --url /hello-go-poolmgr --method GET
|
||||||
fission route create --function hello-go-nd --url /hello-go-nd --method GET
|
fission route create --function hello-go-nd --url /hello-go-nd --method GET
|
||||||
|
|
||||||
log "Waiting for router & pools to catch up"
|
log "Waiting for router & pools to catch up"
|
||||||
sleep 5
|
sleep 15
|
||||||
|
|
||||||
log "Testing pool manager function"
|
log "Testing pool manager function"
|
||||||
timeout 60 bash -c "test_fn hello-go-poolmgr 'Hello'"
|
timeout 60 bash -c "test_fn hello-go-poolmgr 'Hello'"
|
||||||
|
|||||||
Reference in New Issue
Block a user