Commit Graph
108 Commits
Author SHA1 Message Date
Ta-Ching ChenandGitHub d2f2c7e201 Skip trace for router healthz endpoint (#1400)
Jaeger preserves the trace data of router healthz endpoints
which is not so helpful for monitoring function metrics and
consumes storage to store such trace data.

This PR uses `GetStartOptions` to examine the request's path and
check if it's a request to healthz endpoint. If yes, skip and not
to trace it.
2019-11-12 00:13:17 +08:00
Ta-Ching ChenandGitHub e5586ac6dd Set jaeger collector endpoint as an environment variable (#1399)
To follow 12-factor app rules, make jaeger collector endpoint
as an environment variable instead of CLI args. It's easier to
replace the value in different deployments. Also, we can utilize
valueFrom to get value from the configmap.
2019-11-11 22:41:40 +08:00
Ta-Ching ChenandGitHub 4d2ad81b4f Replace deprecated serviceAccount with serviceAccountName (#1398) 2019-11-11 15:55:28 +08:00
Ta-Ching ChenandGitHub 8176160802 Fix helm shows "Not a table" issue when install Fission (#1387)
Helm treats the single line "extraCoreComponentPodConfig" in
values.yaml as a key value pair config.

```
extraCoreComponentPodConfig:
```

And when a user tries to install helm with providing config
like following, it failed.

```
extraCoreComponentPodConfig:
  nodeSelector:
    serverless: fission
```

The root cause is that helm treats config in default values.yaml
and providing config as two different types of config, which is
key-value vs. value table. And so it's unable for helm to merge these
two configs even with the same key name.

This PR comments out the single line config in default values.yaml
to prevent the issue.
2019-11-08 23:15:15 +08:00
Ta-Ching ChenandGitHub 8520e955cf Update maintainer info (#1383) 2019-11-06 13:01:05 +08:00
Chris CamelandTa-Ching Chen 3a4fd999ae Replace AlwaysSample with ProbabilitySampler in router (#1348) 2019-10-30 20:05:55 +08:00
Ta-Ching Chen 864ae1e28a Fission 1.6.0 2019-10-11 01:11:58 +08:00
Ta-Ching ChenandGitHub 4f3ebeeb37 Support encoded path in router (#1347)
Encoded path means the URL path contains encoded string like "/foo%2Fbar".
Gorilla/Mux by default doesn't enable encoded path support, you need to enable
it when initializing the router.

This PR adds a new environment variable USE_ENCODED_PATH to the router
deployment to enable encoded path support.
2019-10-10 02:23:41 +08:00
Ta-Ching ChenandGitHub 52d9435528 Fix the namespace mismatch problem when deploying with a single YAML file (#1344)
If a user deploys fission in the namespace which is different from the one in the single YAML file generated by helm, fission components won't be able to talk to each other due to the wrong namespace appends after the service address.

This PR adds --namespace when generating the YAML file to prevent the mismatch problem.
2019-10-09 01:14:56 +08:00
Ta-Ching ChenandGitHub 5d0e8dfed4 Move charts executor service to the right place (#1343) 2019-10-07 18:44:58 +08:00
Ta-Ching ChenandGitHub 4d172ecae2 Allow to deploy router as DaemonSet (#1342)
ReplicaSet generated by Deployment distributes pods to nodes based
on nodes resource usage, which means in some cases the newly created
pods may be assigned to only a few nodes. The requests will go to the
same node if there multiple pods on it and may increase the node
resource usage and overall request latency.

To solve the problem mentioned above, this PR allows users to deploy
the router as DaemonSet so that we can distribute requests across all
nodes for better workload distribution and lower latency.
2019-10-07 18:09:36 +08:00
Prabhu JayakumarandTa-Ching Chen d834403574 Allow to add annotations to router service in helm chart (#1338) 2019-10-02 14:48:36 +08:00
Ta-Ching ChenandGitHub fbd3f137f2 Move Deployment API group from extensions/v1beta1 to apps/v1 (#1331)
In 1.9, kubernetes prompted Deployment to apps/v1 and finally deprecated
extensions/v1beta1 support in 1.16. Users will see the following error message
in log when fission components try to submit Deployment to the k8s API server
and specify extensions/v1beta1 as API group.

error: unable to recognize "deployment": no matches for kind "Deployment" in version "extensions/v1beta1"

This PR updates call to k8s API server and apiKind in chart files to avoid fission failure in 1.16.
2019-09-29 22:16:33 +08:00
Ta-Ching ChenandGitHub fbb49b81c3 Fission 1.5.0 (#1303) 2019-09-09 15:38:27 +08:00
Ta-Ching ChenandGitHub d0ca43cfa0 Refactor support dump CLI (#1301) 2019-09-04 14:42:47 +08:00
Ta-Ching ChenandGitHub 64d04d9aa3 Fix typo extraCoreComponmentPodConfig -> extraCoreComponentPodConfig (#1287) 2019-08-27 14:12:51 +08:00
parauliyaandTa-Ching Chen e4c1e2aa7f Allow empty repository tag in chart values.yaml (#1259)
This fix allows the empty repository tag in values.yaml file. The changes are done in the templates of deployment and fluentbit where repository tag will be added in the docker image name only when specified with some value in case of empty repository tag image name contain the name of image and tag only.
2019-08-13 14:22:23 +08:00
VishalandGitHub acc1d0e723 V1.4.1 (#1255)
Release 1.4.1
2019-07-29 16:14:49 +05:30
VishalandGitHub 77b1bae05a V1.4.0 (#1244)
For release 1.4.0
2019-07-25 11:39:33 +05:30
Ta-Ching ChenandGitHub 14f1173a23 Make router keep-alive setting configurable (#1225) 2019-07-12 12:12:04 +08:00
Ta-Ching ChenandGitHub e32cd61783 Allow to set log level through environment variable (#1217) 2019-07-07 04:39:42 +08:00
Ta-Ching Chen fdddac2095 Update v1.3.0 changelog 2019-06-03 20:15:49 +08:00
Ta-Ching Chen cfbf36303f Fission 1.3.0 2019-06-03 18:26:34 +08:00
Laurence HudsonandTa-Ching Chen 2abd79c472 Add affinity support (#1170)
* Add support for setting nodeSelector/affinity/tolerations on all deployments of fission components.
* Add extraCoreComponmentPodConfig helm value to allow setting of affinty/tolerations/nodeSelectors/etc on core pods
2019-05-22 17:09:29 +08:00
VishalandGitHub f630929966 V1.2.1 (#1178)
Release 1.2.1
2019-05-09 15:36:06 +05:30
VishalandGitHub 4ccb699256 V1.2.0 (#1171)
Release 1.2.0
2019-05-04 09:06:40 +05:30
VishalandGitHub 8625f8b05f DRY up fetcher configuration (#1168)
Consolidates the addition of the fetcher container to the pod into a new type FetcherConfig and takes care of serviceAccountName if not set. Also added PreStop lifecycle handler if pod set TerminationGracePeriodSeconds
2019-05-02 21:39:42 +05:30
Soam VasaniandGitHub 1ae909d4ae Add simple anonymous usage metrics (#1167)
This change reports total function call count to an analytics url once a day.

It's done behind the existing analytics flag.
2019-04-30 15:48:04 -07:00
VishalandGitHub 911ea43293 V1.1.0 (#1129)
Fission Release 1.1.0
2019-03-25 18:56:02 +05:30
VishalandTa-Ching Chen 4cbae95b15 Change RBAC api version to v1 (#1124)
As of K8s 1.8, RBAC mode is stable and backed by the rbac.authorization.k8s.io/v1
API. Using v1beta1 API version for RBAC based objects fails helm deployment
of fission on minikube
2019-03-18 23:45:16 +08:00
VishalandGitHub df311de35d Adding annotations for prometheus scraping to fission-core (#1098) 2019-03-06 17:34:23 +05:30
VishalandGitHub fc30db3562 V1.0.0 (#1100)
Fission 1.0.0 release
2019-02-14 08:00:51 +05:30
VishalandGitHub 570fb55fd8 V1.0 (#1094)
Changelog and chart change for 1.0
2019-02-09 09:47:32 +05:30
VishalandGitHub 73df384cf4 OpenTracing for Fission (#1079)
Added Opentracing integration using opencensus libraries for all Fission components.
2019-02-07 11:56:41 +05:30
Chia-Chun TaiandTa-Ching Chen 4fd2ed6480 Improve helm charts README (#1064) 2019-01-26 02:05:08 +08:00
Chia-Chun TaiandTa-Ching Chen 82abf19b1a Prevent helm from adding meaningless blank lines to kubernetes objects YAML (#1065) 2019-01-21 19:54:40 +08:00
VishalandGitHub 01df470479 Bumped up default Max CPU for fetcher, fixes #1058 (#1059)
Default Max CPU for fetcher should be higher so that the unzipping of larger files can use more CPU if needed.
2019-01-16 07:49:46 +05:30
VishalandGitHub 2fb9bbcbd7 V1.0 rc2 (#1056)
Release 1.0-rc2
2019-01-15 00:15:01 +05:30
Ta-Ching ChenandGitHub a729cc5281 Fix builder & newdeploy not using latest image during CI build (#1033) 2018-12-19 22:35:28 +08:00
Ta-Ching Chen f99b708acd Update charts version & changelog to v1.0-rc1 2018-12-13 17:45:50 +08:00
Ta-Ching Chen ed9d61fd07 Fission v1.0-rc1 2018-12-13 15:45:32 +08:00
Soam VasaniandTa-Ching Chen 4fd5dfaa0a Fix the analytics jobs in the YAMLs (remove duplicates) (#977) 2018-11-08 14:39:37 +08:00
smruthi2187andGitHub e97113eadc V0.12.0 (#967) 2018-11-01 15:57:25 -07:00
smruthi2187andGitHub 2a785e2116 Keep prometheus and canary deploy set to false in fission-core (#964) 2018-11-01 13:02:46 -07:00
Ta-Ching ChenandGitHub 493cd78f7d Optimize function latency when cache expired/invalid under high concurrency (#856)
* Optimize router response time by adding update lock

In 0.9.2, the router sends multiple GetServiceForFunction requests to executor
to get the service URL. However, the response time of executor will increase
under high-concurrency situation due to too many requests are waiting for
processing.

To solve the problem, an update lock was added to the router. All of goroutines belongs
to the same function need to grab the update lock before sending the request.
Only the first goroutine which gets the update lock is allowed to send request.
In this way, we reduce the burden of executor and lower the failure rate.
2018-10-27 23:35:00 +08:00
smruthi2187andGitHub 1f08e05e76 Feature flag to enable/disable canary + optional prometheus install (#937) 2018-10-22 15:24:43 -07:00
Ta-Ching ChenandGitHub 6850d6ed8e Support for full url (base on aalubin changes) (#941) 2018-10-21 04:04:07 +08:00
smruthi2187andGitHub 851216c637 Return the error on failed specializations with fn test --debug (#917) 2018-10-19 11:17:58 -07:00
VishalandGitHub 8aac5d2622 V0.11.0 (#913)
Release v0.11.0
2018-10-02 00:08:29 +05:30
smruthi2187andGitHub aaad913bf1 Canary deployments for fission functions. (#892) 2018-09-25 18:26:26 -07:00