diff --git a/README.md b/README.md index 40cfd4ee..9146a923 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ aggregation — also helps with ops on your Fission deployment. ```bash # Add the stock NodeJS env to your Fission deployment - $ fission env create --name nodejs --image fission/node-env + $ fission env create --name nodejs --image ghcr.io/fission/node-env # Create a function with a javascript one-liner that prints "hello world" $ fission function create --name hello --env nodejs --code https://raw.githubusercontent.com/fission/examples/master/nodejs/hello.js diff --git a/charts/fission-all/Chart.yaml b/charts/fission-all/Chart.yaml index 0bb9e070..baae17d9 100644 --- a/charts/fission-all/Chart.yaml +++ b/charts/fission-all/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: fission-all -version: v1.21.0-rc2 -appVersion: v1.21.0-rc2 +version: v1.21.0 +appVersion: v1.21.0 description: Fission is a fast serverless framework for Kubernetes. kubeVersion: ">=1.27.0-0" home: https://fission.io/ diff --git a/charts/fission-all/templates/NOTES.txt b/charts/fission-all/templates/NOTES.txt index 09a03ef2..7caf22a4 100644 --- a/charts/fission-all/templates/NOTES.txt +++ b/charts/fission-all/templates/NOTES.txt @@ -20,7 +20,7 @@ Windows: {{- end }} # Create an environment - $ fission env create --name nodejs --image fission/node-env --namespace {{ .Values.defaultNamespace }} + $ fission env create --name nodejs --image ghcr.io/fission/node-env --namespace {{ .Values.defaultNamespace }} # Get a hello world $ curl https://raw.githubusercontent.com/fission/examples/master/nodejs/hello.js > hello.js diff --git a/charts/fission-all/values.yaml b/charts/fission-all/values.yaml index 114e749b..726ed13d 100644 --- a/charts/fission-all/values.yaml +++ b/charts/fission-all/values.yaml @@ -25,7 +25,7 @@ image: fission/fission-bundle ## It is also used by the chart to identify version of the few more images apart from fission-bundle. ## Keep it empty for using latest tag. ## -imageTag: v1.21.0-rc2 +imageTag: v1.21.0 ## pullPolicy represents the pull policy to use for images in the chart. ## @@ -124,7 +124,7 @@ fetcher: ## image represents the image of the fetcher component. image: fission/fetcher ## imageTag represents the tag of the image of the fetcher component. - imageTag: v1.21.0-rc2 + imageTag: v1.21.0 ## Fetcher is only for to downloading or uploading archive. ## Normally, you don't need to change the value here, unless necessary. @@ -696,7 +696,7 @@ preUpgradeChecks: image: fission/pre-upgrade-checks ## pre-install/pre-upgrade checks image version ## - imageTag: v1.21.0-rc2 + imageTag: v1.21.0 ## Fission post-install/post-upgrade reporting live in this image ## diff --git a/crds/v1/fission.io_canaryconfigs.yaml b/crds/v1/fission.io_canaryconfigs.yaml index e9e0cd42..e714ad6c 100644 --- a/crds/v1/fission.io_canaryconfigs.yaml +++ b/crds/v1/fission.io_canaryconfigs.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: canaryconfigs.fission.io spec: group: fission.io diff --git a/crds/v1/fission.io_environments.yaml b/crds/v1/fission.io_environments.yaml index 22c65140..9534d6bf 100644 --- a/crds/v1/fission.io_environments.yaml +++ b/crds/v1/fission.io_environments.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: environments.fission.io spec: group: fission.io diff --git a/crds/v1/fission.io_functions.yaml b/crds/v1/fission.io_functions.yaml index b3c36233..fda91065 100644 --- a/crds/v1/fission.io_functions.yaml +++ b/crds/v1/fission.io_functions.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: functions.fission.io spec: group: fission.io diff --git a/crds/v1/fission.io_httptriggers.yaml b/crds/v1/fission.io_httptriggers.yaml index 1c4fa346..e98d9731 100644 --- a/crds/v1/fission.io_httptriggers.yaml +++ b/crds/v1/fission.io_httptriggers.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: httptriggers.fission.io spec: group: fission.io diff --git a/crds/v1/fission.io_kuberneteswatchtriggers.yaml b/crds/v1/fission.io_kuberneteswatchtriggers.yaml index 25d242ac..1683d6d4 100644 --- a/crds/v1/fission.io_kuberneteswatchtriggers.yaml +++ b/crds/v1/fission.io_kuberneteswatchtriggers.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: kuberneteswatchtriggers.fission.io spec: group: fission.io diff --git a/crds/v1/fission.io_messagequeuetriggers.yaml b/crds/v1/fission.io_messagequeuetriggers.yaml index 1c4ba54a..ceb23990 100644 --- a/crds/v1/fission.io_messagequeuetriggers.yaml +++ b/crds/v1/fission.io_messagequeuetriggers.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: messagequeuetriggers.fission.io spec: group: fission.io diff --git a/crds/v1/fission.io_packages.yaml b/crds/v1/fission.io_packages.yaml index d152ae2f..963c0892 100644 --- a/crds/v1/fission.io_packages.yaml +++ b/crds/v1/fission.io_packages.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: packages.fission.io spec: group: fission.io diff --git a/crds/v1/fission.io_timetriggers.yaml b/crds/v1/fission.io_timetriggers.yaml index 055769ae..2686c2b4 100644 --- a/crds/v1/fission.io_timetriggers.yaml +++ b/crds/v1/fission.io_timetriggers.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.0 + controller-gen.kubebuilder.io/version: v0.17.1 name: timetriggers.fission.io spec: group: fission.io diff --git a/pkg/apis/core/v1/zz_generated.deepcopy.go b/pkg/apis/core/v1/zz_generated.deepcopy.go index c78b39e2..f7bd200c 100644 --- a/pkg/apis/core/v1/zz_generated.deepcopy.go +++ b/pkg/apis/core/v1/zz_generated.deepcopy.go @@ -23,7 +23,7 @@ package v1 import ( "k8s.io/api/autoscaling/v2" corev1 "k8s.io/api/core/v1" - "k8s.io/apimachinery/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/pkg/buildermgr/common.go b/pkg/buildermgr/common.go index f9c6000b..1260a1b3 100644 --- a/pkg/buildermgr/common.go +++ b/pkg/buildermgr/common.go @@ -55,10 +55,10 @@ func buildPackage(ctx context.Context, logger *zap.Logger, fissionClient version return nil, e, ferror.MakeError(http.StatusInternalServerError, e) } - svcName := fmt.Sprintf("%v-%v.%v", env.ObjectMeta.Name, env.ObjectMeta.ResourceVersion, envBuilderNamespace) - srcPkgFilename := fmt.Sprintf("%v-%v", pkg.ObjectMeta.Name, strings.ToLower(uniuri.NewLen(6))) - fetcherC := fetcherClient.MakeClient(logger, fmt.Sprintf("http://%v:8000", svcName)) - builderC := builderClient.MakeClient(logger, fmt.Sprintf("http://%v:8001", svcName)) + svcName := fmt.Sprintf("%s-%s.%s", env.Name, env.ResourceVersion, envBuilderNamespace) + srcPkgFilename := fmt.Sprintf("%s-%s", pkg.Name, strings.ToLower(uniuri.NewLen(6))) + fetcherC := fetcherClient.MakeClient(logger, fmt.Sprintf("http://%s:8000", svcName)) + builderC := builderClient.MakeClient(logger, fmt.Sprintf("http://%s:8001", svcName)) defer func() { logger.Info("cleaning src pkg from builder storage", zap.String("source_package", srcPkgFilename)) diff --git a/test/benchmark/assets/envs/python_bjoern/env.yaml b/test/benchmark/assets/envs/python_bjoern/env.yaml index f2ef5d45..88faa1f9 100644 --- a/test/benchmark/assets/envs/python_bjoern/env.yaml +++ b/test/benchmark/assets/envs/python_bjoern/env.yaml @@ -15,6 +15,6 @@ spec: cpu: 300m memory: 256Mi runtime: - image: fission/python-env + image: ghcr.io/fission/python-env imagePullPolicy: IfNotPresent diff --git a/test/benchmark/assets/envs/python_gevent/env.yaml b/test/benchmark/assets/envs/python_gevent/env.yaml index 68f4028c..3e7ef17d 100644 --- a/test/benchmark/assets/envs/python_gevent/env.yaml +++ b/test/benchmark/assets/envs/python_gevent/env.yaml @@ -15,7 +15,7 @@ spec: cpu: 300m memory: 256Mi runtime: - image: fission/python-env + image: ghcr.io/fission/python-env imagePullPolicy: IfNotPresent container: env: diff --git a/test/benchmark/tests/burst-load/run.sh b/test/benchmark/tests/burst-load/run.sh index c3254d58..43067c6c 100755 --- a/test/benchmark/tests/burst-load/run.sh +++ b/test/benchmark/tests/burst-load/run.sh @@ -24,7 +24,7 @@ do echo "Creating python env" # Use short grace period time to speed up resource recycle time # Use high min/max CPU so that K8S will distribute pod in different nodes - fission env create --name python --version 2 --image fission/python-env --period 5 --mincpu 300 --maxcpu 300 --minmemory 256 --maxmemory 256 + fission env create --name python --version 2 --image ghcr.io/fission/python-env --period 5 --mincpu 300 --maxcpu 300 --minmemory 256 --maxmemory 256 trap "fission env delete --name python" EXIT sleep 30 diff --git a/test/benchmark/tests/package-size/run.sh b/test/benchmark/tests/package-size/run.sh index d7700a45..6588c6ac 100755 --- a/test/benchmark/tests/package-size/run.sh +++ b/test/benchmark/tests/package-size/run.sh @@ -36,7 +36,7 @@ do version=1 fi - fission env create --name python --version ${version} --image fission/python-env --period 5 --mincpu 300 --maxcpu 300 --minmemory 256 --maxmemory 256 + fission env create --name python --version ${version} --image ghcr.io/fission/python-env --period 5 --mincpu 300 --maxcpu 300 --minmemory 256 --maxmemory 256 trap "fission env delete --name python" EXIT diff --git a/test/kind_CI.sh b/test/kind_CI.sh index 2decbfd0..516f87cf 100755 --- a/test/kind_CI.sh +++ b/test/kind_CI.sh @@ -18,17 +18,21 @@ export FUNCTION_NAMESPACE=${FUNCTION_NAMESPACE:-default} export BUILDER_NAMESPACE=${BUILDER_NAMESPACE:-default} export FISSION_NAMESPACE=${FISSION_NAMESPACE:-fission} export FISSION_ROUTER=127.0.0.1:8888 -export NODE_RUNTIME_IMAGE=fission/node-env-14 -export NODE_BUILDER_IMAGE=fission/node-builder-14 -export PYTHON_RUNTIME_IMAGE=fission/python-env -export PYTHON_BUILDER_IMAGE=fission/python-builder -export GO_RUNTIME_IMAGE=fission/go-env-1.16 -export GO_BUILDER_IMAGE=fission/go-builder-1.16 -export JVM_RUNTIME_IMAGE=fission/jvm-env -export JVM_BUILDER_IMAGE=fission/jvm-builder -export JVM_JERSEY_RUNTIME_IMAGE=fission/jvm-jersey-env -export JVM_JERSEY_BUILDER_IMAGE=fission/jvm-jersey-builder -export TS_RUNTIME_IMAGE=fission/tensorflow-serving-env + +# Images used in the tests +export REPOSITORY=ghcr.io/fission +export NODE_RUNTIME_IMAGE=${REPOSITORY}/node-env-22 +export NODE_BUILDER_IMAGE=${REPOSITORY}/node-builder-22 +export PYTHON_RUNTIME_IMAGE=${REPOSITORY}/python-env +export PYTHON_BUILDER_IMAGE=${REPOSITORY}/python-builder +export GO_RUNTIME_IMAGE=${REPOSITORY}/go-env-1.23 +export GO_BUILDER_IMAGE=${REPOSITORY}/go-builder-1.23 +export JVM_RUNTIME_IMAGE=${REPOSITORY}/jvm-env +export JVM_BUILDER_IMAGE=${REPOSITORY}/jvm-builder +export JVM_JERSEY_RUNTIME_IMAGE=${REPOSITORY}/jvm-jersey-env-22 +export JVM_JERSEY_BUILDER_IMAGE=${REPOSITORY}/jvm-jersey-builder-22 +export TS_RUNTIME_IMAGE=${REPOSITORY}/tensorflow-serving-env + export CONTROLLER_IP=127.0.0.1:8889 export FISSION_NATS_STREAMING_URL=http://defaultFissionAuthToken@127.0.0.1:8890 diff --git a/test/tests/test_kubectl/spec-yaml/env-go.yaml b/test/tests/test_kubectl/spec-yaml/env-go.yaml index 321f9777..17cc86a8 100644 --- a/test/tests/test_kubectl/spec-yaml/env-go.yaml +++ b/test/tests/test_kubectl/spec-yaml/env-go.yaml @@ -7,12 +7,12 @@ metadata: spec: builder: command: build - image: fission/go-builder-1.12 + image: ghcr.io/fission/go-builder-1.23 imagepullsecret: "" keeparchive: false poolsize: 3 resources: {} runtime: - image: fission/go-env-1.12 + image: ghcr.io/fission/go-env-1.23 terminationGracePeriod: 5 version: 2 diff --git a/test/tests/test_obj_create_in_diff_ns.sh b/test/tests/test_obj_create_in_diff_ns.sh index 26e3db92..a1415e2f 100755 --- a/test/tests/test_obj_create_in_diff_ns.sh +++ b/test/tests/test_obj_create_in_diff_ns.sh @@ -73,7 +73,7 @@ internal_route_test_1() { new_deploy_mgr_and_internal_route_test_2() { log "Starting new_deploy_mgr_and_internal_route_test_1 with env in default ns" - fission env create --name python --image fission/python-env + fission env create --name python --image ghcr.io/fission/python-env fission fn create --name func5 --env python --code testDir1/hello.py --minscale 1 --maxscale 4 --executortype newdeploy sleep 15 @@ -88,7 +88,7 @@ new_deploy_mgr_and_internal_route_test_2() { new_deploy_mgr_and_internal_route_test_1() { log "Starting new_deploy_mgr_and_internal_route_test_1 with env and fn in different ns" - fission env create --name python --image fission/python-env --envns "ns1-$id" + fission env create --name python --image ghcr.io/fission/python-env --envns "ns1-$id" fission fn create --name func4 --fns "ns2-$id" --env python --envns "ns1-$id" --code testDir1/hello.py --minscale 1 --maxscale 4 --executortype newdeploy sleep 15 @@ -103,7 +103,7 @@ new_deploy_mgr_and_internal_route_test_1() { builder_mgr_test_2() { log "Starting builder_mgr_test_2 with env in default ns" - fission env create --name python-builder-env --builder fission/python-builder --image fission/python-env + fission env create --name python-builder-env --builder fission/python-builder --image ghcr.io/fission/python-env sleep 180 # verify the env builder pod came up in fission-builder and env runtime pod came up in fission-function ns @@ -135,7 +135,7 @@ builder_mgr_test_2() { builder_mgr_test_1() { log "Starting builder_mgr_test_1 with env and fn in different ns" - fission env create --name python-builder-env --envns "ns1-$id" --builder fission/python-builder --image fission/python-env + fission env create --name python-builder-env --envns "ns1-$id" --builder fission/python-builder --image ghcr.io/fission/python-env # we need to wait sufficiently for env pods to be up sleep 180 @@ -162,7 +162,7 @@ builder_mgr_test_1() { pool_mgr_test_2() { log "Starting pool_mgr_test_2 with env in default ns" fission env delete --name python || true - fission env create --name python --image fission/python-env + fission env create --name python --image ghcr.io/fission/python-env fission fn create --name func2 --fns "ns2-$id" --env python --code testDir1/hello.py ht=$(fission route create --function func2 --fns "ns2-$id" --url /func2 | cut -f2 -d' '| tr -d \') @@ -186,7 +186,7 @@ pool_mgr_test_2() { pool_mgr_test_1() { log "Starting pool_mgr_test_1 with env and fn in different ns" - fission env create --name python --image fission/python-env --envns "ns1-$id" + fission env create --name python --image ghcr.io/fission/python-env --envns "ns1-$id" fission fn create --name func1 --fns "ns2-$id" --env python --envns "ns1-$id" --code testDir1/hello.py ht=$(fission route create --function func1 --fns "ns2-$id" --url /func1 | cut -f2 -d' '| tr -d \') diff --git a/test/tests/test_specs/test_spec_archive/specs/env-node.yaml b/test/tests/test_specs/test_spec_archive/specs/env-node.yaml index 745e6aa3..3a8ffff5 100644 --- a/test/tests/test_specs/test_spec_archive/specs/env-node.yaml +++ b/test/tests/test_specs/test_spec_archive/specs/env-node.yaml @@ -7,10 +7,10 @@ metadata: spec: builder: command: build - image: fission/node-builder + image: ghcr.io/fission/node-builder keeparchive: false poolsize: 3 runtime: - image: fission/node-env + image: ghcr.io/fission/node-env terminationGracePeriod: 20 version: 2 diff --git a/test/tests/test_specs/test_spec_archive/test_spec_archive.sh b/test/tests/test_specs/test_spec_archive/test_spec_archive.sh index 2a65de3d..ea489ae8 100755 --- a/test/tests/test_specs/test_spec_archive/test_spec_archive.sh +++ b/test/tests/test_specs/test_spec_archive/test_spec_archive.sh @@ -28,6 +28,15 @@ mkdir -p func cp $ROOT/examples/nodejs/hello.js func/deploy.js cp $ROOT/examples/nodejs/hello.js func/source.js +# Create package.json in func directory +cat < func/package.json +{ + "name": "hello", + "version": "1.0.0", + "description": "hello function" +} +EOF + fission spec destroy || true log "Apply specs" diff --git a/test/tests/test_specs/test_spec_merge/specs/env-nodend.yaml b/test/tests/test_specs/test_spec_merge/specs/env-nodend.yaml index 5c8ea8b3..2f2fabec 100644 --- a/test/tests/test_specs/test_spec_merge/specs/env-nodend.yaml +++ b/test/tests/test_specs/test_spec_merge/specs/env-nodend.yaml @@ -11,7 +11,7 @@ spec: poolsize: 0 resources: {} runtime: - image: fission/node-env + image: ghcr.io/fission/node-env container: name: nodend volumeMounts: @@ -23,19 +23,19 @@ spec: # A container which will be merged with for pool manager containers: - name: nodend - image: fission/node-env + image: ghcr.io/fission/node-env volumeMounts: - name: funcvol mountPath: /etc/funcdata readOnly: true # A additional container in the pods - name: yanode - image: fission/node-env + image: ghcr.io/fission/node-env command: ['sh', '-c', 'sleep 36000000000'] # Init container before function initContainers: - name: init-node - image: fission/node-env + image: ghcr.io/fission/node-env command: ['sh', '-c', 'cat /etc/infopod/labels'] volumeMounts: - name: infopod diff --git a/test/tests/test_specs/test_spec_merge/specs/env-nodep.yaml b/test/tests/test_specs/test_spec_merge/specs/env-nodep.yaml index 333d1118..b5a69e99 100644 --- a/test/tests/test_specs/test_spec_merge/specs/env-nodep.yaml +++ b/test/tests/test_specs/test_spec_merge/specs/env-nodep.yaml @@ -11,7 +11,7 @@ spec: poolsize: 3 resources: {} runtime: - image: fission/node-env + image: ghcr.io/fission/node-env container: name: nodep volumeMounts: @@ -23,19 +23,19 @@ spec: # A container which will be merged with for pool manager containers: - name: nodep - image: fission/node-env + image: ghcr.io/fission/node-env volumeMounts: - name: funcvol mountPath: /etc/funcdata readOnly: true # A additional container in the pods - name: yanode - image: fission/node-env + image: ghcr.io/fission/node-env command: ['sh', '-c', 'sleep 36000000000'] # Init container before function initContainers: - name: init-node - image: fission/node-env + image: ghcr.io/fission/node-env command: ['sh', '-c', 'cat /etc/infopod/labels'] volumeMounts: - name: infopod diff --git a/test/tests/websocket/specs/env-nodejs.yaml b/test/tests/websocket/specs/env-nodejs.yaml index 82d90b68..604bb374 100644 --- a/test/tests/websocket/specs/env-nodejs.yaml +++ b/test/tests/websocket/specs/env-nodejs.yaml @@ -17,7 +17,7 @@ spec: cpu: 10m memory: 80Mi runtime: - image: fission/node-env + image: ghcr.io/fission/node-env podspec: containers: - name: nodejs diff --git a/test/upgrade/fixture_tests.sh b/test/upgrade/fixture_tests.sh index b50f5d86..cdb76494 100755 --- a/test/upgrade/fixture_tests.sh +++ b/test/upgrade/fixture_tests.sh @@ -10,7 +10,7 @@ popd setup_fission_objects() { log "==== Setting up objects for upgrade test ====" log "Creating env, function and route" - fission env create --name nodejs --image fission/node-env --mincpu 20 --maxcpu 100 --minmemory 128 --maxmemory 256 + fission env create --name nodejs --image ghcr.io/fission/node-env --mincpu 20 --maxcpu 100 --minmemory 128 --maxmemory 256 fission fn create --name upgradehello --env nodejs --code $ROOT/examples/nodejs/hello.js --executortype poolmgr diff --git a/test/upgrade_test/fission_objects.sh b/test/upgrade_test/fission_objects.sh index 10b5de57..066cedbc 100644 --- a/test/upgrade_test/fission_objects.sh +++ b/test/upgrade_test/fission_objects.sh @@ -44,7 +44,7 @@ create_fission_objects() { echo " Preparing for fission object creation" echo "-----------------#########################################--------------------" echo "Creating function environment." - if fission env create --name nodejs --image fission/node-env:latest; then + if fission env create --name nodejs --image ghcr.io/fission/node-env; then echo "Successfully created function environment" else echo "Environment creation failed"