v1.15.0
Chart Restructure
fission-core
chart removed
With 1.15.x release, following changes are made:
-
fission-core
chart is removed -
fission-all
chart is made similarfission-core
chart -
In the
fission-all
chart, the following components are disabled which were enabled by default earlier. If you want to enable them, please use--set
flag.- nats - Set
nats.enabled=true
to enable Fission Nats integration - influxdb - Set
influxdb.enabled=true
to enable Fission InfluxDB and logger component - prometheus - Set
prometheus.enabled=true
to install Prometheus with Fission - canaryDeployment - Set
canaryDeployment.enabled=true
to enable Canary Deployment
- nats - Set
Migrating from fission-core
chart to fission-all
chart
Fission-all
chart is now exactly similar to fission-core
chart and can be used to migrate from fission-core
.
If you are upgrading from the fission-core chart, you can use the following command to migrate with required changes.
helm upgrade [RELEASE_NAME] fission-charts/fission-all --namespace fission
Features
OpenTelemetry integration
This release introduces the ability to instrument your functions with OpenTelemetry. Also, Fission components are now instrumented with OpenTelemetry. You can visualize Fission components with OpenTelemetry Collector configured. With OpenTelemetry support, we would be soon removing OpenTracing instrumentation. OpenTelemetry is compatible with OpenTracing. Please refer documentation here for more details.
Changes for issue #1861 :
- Initial integration PR #2157
- Context passing enhancements PR #2172 PR #2175
- Capturing events within spans for important actions PR #2180
- Support for OpenTelemetry standard environment variables PR #2194
- Support for different propagators and samplers PR #2201
Improvements in pool manager based functions
With this release, we are improving the pool manager based functions, specially reduced downtime during the environment update. Earlier even after updating pool size for the environment, we were recreating pool of warm pods. With this release, we update the pool pods as needed and as gracefully as possible by updating existing kubernetes resources, rather that recreating them. Also, if there are any specialized function pods, i.e., pod containing function code, we will try to recreate them gracefully once the pool is updated.
Changes for issue #1169:
- Improved code organztion and logging for pool manager PR #2166
- Minimizing downtime during env update PR #2161 PR #2184
Listing pods related to Fission environments and functions
We have added new commands in the Fission CLI to list pods related to Fission environments and functions.
Thanks for @praddy26 for his contributions. PR #2207 PR #2231
.specignore
ignore files in specs directory
Often, you might have some manifest files in your Fission specs directory. If you want to skip apply of any specific files in your specs directory, you can add them to .specignore
file.
.specignore
works similar to .gitignore
file.
If you want to specify any other file alternate to .specignore
, you can use --specignore
flag.
Thanks for @praddy26 for his contributions. PR #2239
Redis Lists Keda Connector
We have added a new Keda connector for Redis Lists. Please refer here for more details.
- Listing pods related to Fission environments and functions
.specignore
ignore files in specs directory- Improvements in pool manager based functions
- OpenTelemetry integration
- Redis Lists Keda Connector
Fixes
Regression fixes
- Fixed ingress creation from Fission cli PR #2164 Issue #2144
- With prefix path support, function having common prefix were colliding. We have fixed that. PR #2182 Issue #2181 Issue #2107
Chart fixes
- Add settings for priorityClassName for pods created via Fission chart PR #2254
- Allow customization of termination PR
- Update Helm chart dependencies PR #2227
- Allow disabling preupgrade checks PR #2229
- Removed admin role access from helm chart PR #2233
- Removed deprecated Fission UI from helm chart PR #2232
- Removed deprecated heapster from fission chart PR #2256
Misc Fixes
- Changed default sync period for Fission informer to 30min from 30s. This reduces lot of unnecessary updates across Fission code PR #2167
- Added filter for env update in newdeploy to consider newdeploy functions PR #2165
- Changed default function call timeout from 30s to 60s in
fission fn test
PR #2169 - Using typed informers in configmap and secret watcher PR #2174
- Fixed pod name in port forwarding logs PR #2178
- Added kubernetes objects aware logger PR #2179
- Warn if package resource version mismatch in function specialization PR #2183
- Using request context in Fission controller APIs PR#2214
- Update go dependencies PR #2216
- Fixes in pool manager ready pod controller PR #2259
- Improved namespace checks in pre-upgrade checks PR #2226
- Pass appropriate context to pool cache functions PR #2244
- Capture os signals to gracefully shutdown fission components PR #2261
- Caputer fission-bundle exit logs with sync PR #2260
Internal Fixes
- Updated Fission base image from Alpine 3.13 to Alpine 3.14. PR #2160
- Updated Fission to use Go 1.16 and Kubernetes dependencies to 1.21 PR #2168
- Stow client updated v0.2.7 PR #2195
- Using goreleaser for faster buids and releases PR #2189
- Removed Ioutil package as deprecated in Go 1.16 PR #2236
Note
- From 1.15 release, Fission would be having one tag only of format v1.15.x etc. instead of two tags earlier. Please ensure you are using v1.15.0 in helm install and not 1.15.0.
- From 1.15 release, Fission would be having version prefix to chart tag. E.g. Instead of using 1.15.0 as version, we will use v1.15.0. So for helm install, please pass version as v1.15.0.
helm install --version v1.15.0 --namespace fission fission
Also, docker images would be tagged with v1.15.0.
- We have changed installation steps since 1.13.0, please refer the latest installation steps. You need to install/replace Custom Resource Definitions(CRDs) before installing Helm chart.
- Environments releases are decoupled from Fission release. Please check Environments portal for latest environments.
Deprecation
- With addition of OpenTelemetry, we would be soon removing OpenTracing instrumentation.
- HTTPTrigger/Route creation from Fission CLI is deprecated. Use
fission route create
instead. PR #2171 - We have deprecated
Spec.Method
in HTTPTrigger since 1.13.0, please useSpec.Methods
instead.