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 similar fission-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

PR #2224

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:

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.

Fixes

Regression fixes

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 use Spec.Methods instead.

References