Commit Graph
1340 Commits
Author SHA1 Message Date
Sanket SudakeandGitHub 11ccc058a5 enhancement: Add different samplers and propagators support with OpenTelemetry (#2201)
* Samplers: Check PR/helm values for supported types
* Propagators: Check PR/helm values for supported types
* Added tracing support via fission CLI
* Use parentbased_traceidratio as default sampler with 0.1 ratio

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-09-22 16:29:49 +05:30
Sanket SudakeandGitHub 2dd2d044ff fix: Goreleaser for build and release (#2189)
* Add goreleaser for building binaries
* Update CONTRIBUTING.md
* Break release scripts for goreleaser

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-09-21 15:29:40 +05:30
Ankit ChawlaandGitHub b20caea34e Updated nats version (#2186) 2021-09-21 11:47:30 +05:30
Sanket SudakeandGitHub 3b18dc1a76 chore(dep): update go dependency stow v0.2.7 (#2195)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-09-17 10:55:56 +05:30
Sanket SudakeandGitHub 43e8c5456a fix: Use standard env variables for opentelemtry (#2194)
Opentelemetry defines standard variables which are supported by multiple observability platforms.

[1] https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/sdk-environment-variables.md
[2] https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md

By defining support for standard env vars, Fission open telemetry support can be leveraged with different
platforms such as NewRelic, SigNoz, DataDog etc.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-09-16 17:48:26 +05:30
Sanket SudakeandGitHub b260cdf0be feature: Capture important events with span in fission and add trace id in logs (#2180)
* Capture important open telemetry events with span in fission
* Add context to missing HTTP calls
* Add Trace ID in logs
* capture trace id in the proxy handler function
* Always registry tracer to get traceID

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-09-15 16:41:59 +05:30
Sanket SudakeandGitHub c1b0cd1052 ci(Mergify): configuration update (#2191)
Signed-off-by:  Sanket Sudake <sanketsudake@gmail.com>
2021-09-12 10:21:56 +05:30
Sanket SudakeandGitHub 1945595441 Add first interaction greetings (#2190)
* Add first interaction greetings

* Update greetings.yml
2021-09-12 10:11:29 +05:30
Ankit ChawlaandGitHub 83f5fb5775 Updated versions of connectors (#2185) 2021-09-06 15:43:27 +05:30
Sanket SudakeandGitHub 802ed2badb Check package resource version from fetch request with fetched package (#2183)
When fetch request is received by fetcher, it fetches
package information. Checking if package resource version mentioned
in fetch req matches with one received. Adding warning for now,
in future we need to ensure we give error if resource version
are not matching.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-09-06 13:12:33 +05:30
Sanket SudakeandGitHub dfb102680b Pass podinformer to poolpodcontroller instead of reference to pool manager (#2184)
In upgrade tests, sometimes in race condition pool manager podlister
takes time to sync in which case, poolpodcontrolller get nil reference
for gpm.podLister. Passing podInformer to poolpodcontroller so that
we wait for podInformer cache to sync.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-09-06 11:57:33 +05:30
Ankit ChawlaandGitHub 55754480ce Added redis keda connector (#2176) 2021-09-06 10:01:35 +05:30
Sanket SudakeandGitHub 8c1cffe5cc Functions with common prefix path handling with internal routes (#2182)
With addition of prefix based routes in 1.13.1, we have turned
all internal routes prefix based. This is causing wrong responses
in functions names with common prefixes such as `hello-world` and
`hello-world-consumer`. This patch fixes it where we add a fix route
for function name and prefix path for function name with `/`.
We improve overall prefix path handing with fix and prevent breakage
for existing flow.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-09-06 08:35:38 +05:30
Sanket SudakeandGitHub ea1eb88fcb Add kubernetes objects aware logger with zap (#2179)
Using controller-runtime zap integration which is aware of Kubernetesobjects and logs only name+namespace of the object when complete runtime.Object compatible type is given to logger.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-31 18:38:14 +05:30
nickmancariandGitHub b3ecbee66d Added lables to flags '--url', '--prefix', '--method' to reflect their deprecation for the 'fn create' use case. (#2171) 2021-08-31 18:12:58 +05:30
Sanket SudakeandGitHub 4889f76335 Fix pod name in port forwarding log (#2178)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-31 10:07:42 +05:30
Sanket SudakeandGitHub cc25b776ef Use pool pod controller with env informer (#2161)
Signed-off-by: Sanket Sudake sanketsudake@gmail.com

- Use informers and listers in executors
- Passing context properly in pool manager executor
- Environment updates in the pool manager would not cause updates in the deployment
- Environment update minimizing downtime
- Use replicaset controller and environment delete triggers to cleanup specialized pods
2021-08-31 09:31:32 +05:30
Sanket SudakeandGitHub 47115d2b15 Add correct context required in executor (#2175)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-25 13:16:26 +05:30
Sanket SudakeandGitHub 6bc4896e7b Add typed informers instead of generic SharedIndexInformers (#2174)
Generally using typed informers is more standard practise
than using SharedIndexInformer(SII) implicity. SII also lack
listers provided by informer factory and few other high level
abstractions.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-23 17:41:55 +05:30
Sanket SudakeandGitHub a990f33ac6 Kind profile with opentelemetry local setup (#2173)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-20 15:04:42 +05:30
Gaurav GahlotandGitHub 5959c01fb6 Add context for traces in executor (#2172)
Signed-off-by: Gaurav Gahlot <gauravgahlot0107@gmail.com>
2021-08-20 14:53:06 +05:30
Sanket SudakeandGitHub e480f81937 Change default informer resync period to 30 minutes (#2167)
Currently most of informers used in Fission are using resync
period of 30sec which is quite low and causes lot of disturbances
in overall system. Since informers already have watchers which would
be delivering events to the handlers. If any handlers require lower
sync period they should register handler with `AddEventHandlersWithResyncPeriod`
instead of we generaling informer.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-20 09:03:09 +05:30
35eeed3e2d fix: Add pathType to create networking/v1 ingress (#2164)
* fix: Add pathType to create networking/v1 ingress

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-20 08:49:55 +05:30
Sanket SudakeandGitHub 31af2d95d4 Use latest env in spec-archive test (#2170)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-19 20:48:37 +05:30
Sanket SudakeandGitHub eb171564c7 Update go version to 1.16 and kubernetes dev dependencies to 1.21 (#2168)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-19 20:30:27 +05:30
Gaurav GahlotandGitHub 945cc53638 Change default function timeout to 60 seconds and pass context to executor from router (#2169)
Patch changes default function timeout to 60 seconds. Also, we are propagating context from router to executor in a proper way.
2021-08-19 19:13:33 +05:30
462daa416e Fission meets OpenTelemetry (#2157)
* add opentracing section and otelCollectorEndpoint
* initialize OTLP exporter
* pkg/controller: changes for context propagation
* pkg/executor: changes for context propagation
* pkg/fetcher: changes for context propagation
* pkg/router: changes for context propagation
* pkg/storagesvc: changes for context propagation
* set no default value for otel collector endpoint
* update readme and add notes to charts
* move common code to pkg/utils/otel
* adding fn and env as attributes
* don't use otelhttp transport for websocket
* URL ignore with common filter UrlsToIgnore

Note: The web socket example does not work when using OTEL HTTP. Here is an issue related to that on open-telemetry/opentelemetry-js-contrib.

Signed-off-by: Gaurav Gahlot <gauravgahlot0107@gmail.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-19 13:00:30 +05:30
Sanket SudakeandGitHub 730ead2062 Organize pool manager code and few improvements (#2166)
The patch adds few improvements in pool manager and adds better
function composability by reorganizing code.
1. Added created status in get pool call
2. Improved logging in certain areas and having logger per component
3. Separated deployment-specific code in diff file for extensibility

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-18 13:21:54 +05:30
Sanket SudakeandGitHub ce09eb7f3f Consider newdeploy functions only for env update in newdeploy manager (#2165)
Currently when we update env, even if we dont have newdeploy related
functions env is getting is getting triggered. Added filter in finding
related functions to avoid this behaviour.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-17 21:55:38 +05:30
Sanket SudakeandGitHub 9c47a83a40 Reduce logs in image pull and system prune for tests (#2163)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-16 12:17:20 +05:30
Sanket SudakeandGitHub 93dbc2050c Update alpine base image to 3.14 (#2160)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-12 10:55:49 +05:30
Sanket SudakeandGitHub bf62e9ad56 Update changelog for 1.14.1 (#2145)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-03 17:33:13 +05:30
Sanket SudakeandGitHub 5509d7c778 Update chart version to 1.14.1 (#2143)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-03 15:16:15 +05:30
Sanket SudakeandGitHub a099ecfd68 Fixed service name generation for function name < 17 chars (#2142)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-03 14:19:04 +05:30
Sanket SudakeandGitHub 2efe1052e8 Update changelog for 1.14.0 (#2138)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-02 21:35:28 +05:30
Sanket SudakeandGitHub 02c07090f7 Update chart version to 1.14.0 (#2127)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-08-02 12:18:11 +05:30
Sanket SudakeandGitHub 1cfa8cdd91 Remove unused code from Fission (#2136)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-29 19:15:50 +05:30
Gaurav GahlotandGitHub 502de099de reading right flag key for rounds (#2135)
Signed-off-by: Gaurav Gahlot <gauravgahlot0107@gmail.com>
2021-07-29 19:13:06 +05:30
Sanket SudakeandGitHub 69e52d253e Option to keep or remove prefix when router triggers prefix based function (#2133)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-29 18:50:26 +05:30
Sanket SudakeandGitHub e359188bf4 Update runc to v1.0.1 (#2134)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-29 15:57:06 +05:30
Sanket SudakeandGitHub 0fcd46e6b6 Disable analytics in upgrade tests and use latest node env in integration tests (#2128)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-27 11:24:01 +05:30
Sanket SudakeandGitHub ab7eb64636 Change Ingress version from v1beta1 to v1 for K8s 1.22+ compatibility (#2124)
* Change Ingress version from v1beta1 to v1 for K8s 1.22+ compatibility

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Minor fix

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-26 09:50:42 +05:30
Sanket SudakeandGitHub 7cd877698b Enable race detector for unit tests (#2085)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-23 13:24:10 +05:30
Sanket SudakeandGitHub b273d10388 Optimize swagger doc generator for Fission CR types (#2123)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-22 19:05:37 +05:30
Sanket SudakeandGitHub eeabfb6047 Avoid dumping request headers in router (#2122)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-22 16:19:39 +05:30
Sanket SudakeandGitHub ac5a16aa59 Add CRDs link for easy references (#2121)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-22 12:41:29 +05:30
Sanket SudakeandGitHub 9b703bc96a Support to dump request/response in router when debug mode enabled (#2119)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-21 20:45:08 +05:30
Sanket SudakeandGitHub 7e9d9618e2 Newdeploy/container function service names should fit in 63 characters (#2117)
* Add error message on deployment provision failure

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Add 63 characters limit for objects created via newdeploy/container

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-19 15:43:10 +05:30
61e4e6deee containers as functions (#1681)
PR adds a new executortype which supports running containers as functions. New CLI under functions is added to create container as functions.

Co-authored-by: Harsh Thakur <harshthakur9030@gmail.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-16 18:08:41 +05:30
Sanket SudakeandGitHub aa3dd68494 Add go pprof support across fission components (#2112)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2021-07-16 13:34:03 +05:30