Commit Graph
100 Commits
Author SHA1 Message Date
Ta-Ching ChenandGitHub df7d30755e Fix roundtripper doesn't increase request timeout setting after each retry (#1216) 2019-07-19 00:46:57 +08:00
Ta-Ching ChenandGitHub 49ce84cee3 Fix fetcher client doesn't handle error properly (#1238) 2019-07-15 21:01:32 +08:00
Ta-Ching ChenandGitHub a26bcdf879 Fix build failed due to script unable to find configmap (#1237) 2019-07-15 17:54:37 +08:00
Ta-Ching ChenandGitHub de9fc05c6d Enable concurrent CI builds (#1236)
Currently, only one CI build can be started at the same time due to we only have only one testing cluster. This PR aims to enable multiple concurrent builds can be triggered to reduce the waiting time for CI builds. The major changes listed below:

1. Each build generate unique images for testing and debugging
2. Check whether the testing cluster is being used by another build.
3. Cache docker image & go mod after build finished
4. Improve dockerfiles for reusing docker build cache
2019-07-15 16:33:26 +08:00
Ta-Ching ChenandGitHub 5ad8d837c8 Fix fetcher of newdeploy pod error out when starting up (#1210)
* Connect to k8s API server to ensure network connectivity
* Fix readiness probe path
2019-07-14 21:09:35 +08:00
Ta-Ching ChenandGitHub 14f1173a23 Make router keep-alive setting configurable (#1225) 2019-07-12 12:12:04 +08:00
Ta-Ching ChenandGitHub 32e1e688e4 Replace localhost with 127.0.0.1 to prevent DNS resolving problem (#1227) 2019-07-12 09:16:10 +08:00
Ta-Ching ChenandGitHub be052f1ecd Fix release script wrongly tags builder as env image (#1226) 2019-07-10 16:03:14 +08:00
Ta-Ching ChenandGitHub 04b36a028e Enable go module support for go environment (#1152) 2019-07-10 14:00:29 +08:00
Ta-Ching ChenandGitHub 801ca94240 Fix nil pointer when CLI unable to get server version (#1223) 2019-07-07 09:55:00 +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 ChenandGitHub eaddf8922e Reuse go docker build cache (#1218) 2019-07-06 09:30:27 +08:00
Ta-Ching ChenandGitHub 74e31fae05 Fix poolmanager specializes a function pod repeatedly if istio is enabled (#1208) 2019-07-03 11:26:35 +08:00
Ta-Ching ChenandGitHub 6ed0bd5635 Add experimental environment: tensorflow-serving (#1212) 2019-07-02 15:43:55 +08:00
Ta-Ching ChenandGitHub c9db33f116 Fix Istio-proxy cannot collect HTTP-level information (#1209) 2019-07-02 00:08:29 +08:00
Ta-Ching ChenandGitHub 701c2e794e Reuse maven build cache in JVM environment build process (#1207) 2019-06-20 17:03:17 +08:00
Ta-Ching ChenandGitHub e4586a48a5 Fix executor panic problem when specialization timeout (#1211) 2019-06-20 13:56:02 +08:00
Ta-Ching ChenandGitHub a5eb87e46f Fallback to get user home directory from env (#1203) 2019-06-05 12:56:30 +08:00
Ta-Ching Chen 622ab90427 Add ruby/dotnet20 environment builder to release script 2019-06-03 20:57:55 +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
Ta-Ching ChenandGitHub 28768c2a47 Check fission CLI & server git commit SHA before test (#1200)
Check fission CLI & server git commit SHA before test 
to make sure we test against with the same commit.
2019-06-03 14:27:58 +08:00
Ta-Ching ChenandGitHub a222819f45 Update bug issue templates (#1198) 2019-06-03 08:24:07 +08:00
Ta-Ching ChenandGitHub bd597cde0e Add static code analysis to CI test (#1197) 2019-06-02 14:29:38 +08:00
Ta-Ching ChenandGitHub 8966c50f5c Add readiness/liveness probes to nat-streaming (#1199) 2019-06-02 13:41:24 +08:00
Ta-Ching ChenandGitHub 2d5595e3de Show warning message if spec alters poolsize while env version < 3 (#1193) 2019-05-31 17:49:56 +08:00
Ta-Ching ChenandGitHub ed4f8a4458 Move packages to proejct/pkg to follow go project folder structure convention (#1190) 2019-05-31 16:28:55 +08:00
Ta-Ching ChenandGitHub 3304637aac Remove prometheus server connectivity test during controller initialization (#1179)
The prometheus server may not come up in a short time or when a cluster doesn’t have a storage class config. Because of this, the connectivity test will increase controller initialization time and so the controller will fail at readiness probe detection. Since we don’t want to delay the time that controller comes up also canary config manager prints error log when it failed at connecting to prometheus server, remove the connectivity test here.
2019-05-10 14:25:24 +08:00
Ta-Ching ChenandGitHub d6c89d5449 Change log level in executor for better log reading/troubleshooting (#1163) 2019-04-15 23:02:55 +08:00
Ta-Ching ChenandGitHub 25b52e75d4 Fix TravisCI go environment version to avoid go bugs (#1154)
From go release history (https://golang.org/doc/devel/release.html#go1.11)
and travis ci build history, looks like 1.11.7 and 1.11.8 contains unknown
bugs that breaks build. To avoid this, fix go version to 1.11.6 for now.
2019-04-09 16:38:40 +08:00
Ta-Ching ChenandGitHub 0635f1d69b Migrate from glide to official dependencies management tool: Go Module (#1136) 2019-04-04 22:33:26 +08:00
Ta-Ching ChenandGitHub 756209d710 Fix misleading log when setup portforward (#1134) 2019-04-01 17:03:19 +08:00
Ta-Ching ChenandGitHub b10ce8415b Add connection lost handler for NATS-streaming (#1125) 2019-03-19 21:13:49 +08:00
Ta-Ching ChenandGitHub a6ed38b4f1 Bump base image version of Go environment to 1.11.4 (#1026) 2019-03-19 18:29:19 +08:00
Ta-Ching ChenandVishal 15df3c7725 Fix canary config manager creation error in controller (#1105)
Fixing failure of the controller startup when Prometheus is provided as env variable and it fails to parse correctly
2019-03-06 15:50:09 +05:30
Ta-Ching ChenandGitHub 87c7b3bb96 Fix executor tries to create same name deployment (#1082)
The root cause of the issue was introduced by PR https://github.com/fission/fission/pull/1009/files .
To be short, even the CRD of environment was delete, it still takes time for executor (poolmgr) to destroy env pool. In our cases, the previous test creates an env and delete it when test finished, then the next one creates the same name env, but failed to create pool due to the deploy name conflict. So the executor selects the pod from the first created env pool. Then, executor starts to delete the env pool, and makes the pod state became Termination state. To fix this problem, a unique name of deployment will be returned after this PR to prevent the name conflict.
2019-01-30 22:14:14 +08:00
Ta-Ching ChenandGitHub e8916cb66b Fix goroutines change DialContext of http.DefaultTransport in router (#1063) 2019-01-26 04:48:10 +08:00
Ta-Ching ChenandGitHub 57f1101455 Fix fluentd plugin version to prevent version incompatible problem (#1076) 2019-01-23 20:18:37 +08:00
Ta-Ching ChenandGitHub 5e154c3911 Remove/Redirect out-of-date docs to fission doc site (#1061) 2019-01-17 16:29:15 +08:00
Ta-Ching ChenandGitHub c4a02890d0 Replace router svcAddrUpdateLocks with new throttler package for code readability&reusability (#1047)
Rename svcAddrUpdateLock to Throttler and move it to the top-level directory as a package for code import.
2019-01-16 12:37:46 +08:00
Ta-Ching ChenandGitHub d040165511 Fix requests are sent to unready function pod (newdeploy) (#1005)
* Refactor specialization process
* Separate readiness and liveness probe to different routes

For newdeploy, readiness probe should check whether a fetcher specializes env container successfully or not. In this commit, fetcher returns the actual state of current specialization status instead of returning 200ok directly.
2018-12-27 16:29:31 +08:00
Ta-Ching ChenandVishal 5bd2baecef Fix cli create archive with nonexistent file (#1036)
CLI should return an error if user specifies a file that does not exist
2018-12-27 11:06:39 +05:30
Ta-Ching ChenandGitHub 835f5dc499 Fix go env panic when failed at loading plugin (#1031)
Fix go env panic when failed at loading plugin to make it easier for troubleshooting.
2018-12-27 00:14:22 +08:00
Ta-Ching ChenandGitHub ef4964b543 Refactor RoundTrip function for better code reading (#991) 2018-12-25 13:31:15 +08:00
Ta-Ching ChenandGitHub 710940fb3b Update dotnet and perl environment docs for rebuilding env images (#1035) 2018-12-23 17:48:09 +08:00
Ta-Ching ChenandGitHub 701b2b26ad Use Header.Set() to override the existing header value (#1032)
Header.Add() appends string if there are same header key exists. Use Header.Set() to prevent this.
2018-12-20 17:23:26 +08:00
Ta-Ching ChenandGitHub e50fd3e30c Fix builder shows "http: multiple response.WriteHeader calls" (#1029) 2018-12-20 01:29:15 +08:00
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
Ta-Ching ChenandGitHub 0f730aaf75 Validate command flag input by adding cli hook (#1017) 2018-12-10 23:48:33 +08:00
Ta-Ching ChenandVishal 2c47842298 Pre-create kubernetes resources for function with minScale=0 (#976)
Pre-create Kubernetes resources if functions has MinScale=0 and then scale when first function is called.
2018-12-03 15:52:07 +05:30
Ta-Ching ChenandGitHub 479b332600 Use executor type as a delimiter to prevent deploy name conflict (#1009) 2018-11-30 13:04:44 +08:00
Ta-Ching ChenandGitHub 42d0075d17 Fix issues when specifying resources/scales during updating/creation process (#970) 2018-11-29 20:46:48 +08:00
Ta-Ching ChenandGitHub 3284e14ddb Upgrade environment dependencies for security alert (#1006) 2018-11-29 16:38:38 +08:00
Ta-Ching ChenandGitHub 6406022b5d Rename canary flag name from funcN/funcN-1 to newfunction/oldfunction (#1003) 2018-11-28 16:27:29 +08:00
Ta-Ching ChenandGitHub 2d80a5b73c Fix MQ trigger (NATS) wrongly sends error message to response topic (#1002) 2018-11-25 10:07:46 +08:00
Ta-Ching ChenandGitHub e551fa0eba Shorten executor kubernetes objects name (#975) 2018-11-24 20:41:38 +08:00
Ta-Ching Chen 188a7aab5f Fix helm command not found issue when kubeconfig is not provided. 2018-11-20 17:24:37 +08:00
Ta-Ching ChenandVishal 65bc02ecc8 Newdeploy - change only in minscale should not restart deployment 2018-11-15 15:31:28 +05:30
Ta-Ching ChenandGitHub a55ecedcb3 Fix release script failed to generate yaml for nonhelm installation (#978) 2018-11-14 15:02:43 +08:00
Ta-Ching ChenandGitHub 965031876a Show builder image when list all envs (#971) 2018-11-05 23:18:37 +08:00
Ta-Ching ChenandGitHub 02cc811efa Fix CLI not shows package name when creating a function (#966) 2018-11-05 17:19:05 +08:00
Ta-Ching ChenandGitHub 6c197ae68a Fix failed to pull influxdb image from dockerhub (#957)
* Fix failed to pull influxdb image from dockerhub
* Disable jvm test temporarily (issue 958)
2018-10-31 16:32:45 +08: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
Ta-Ching ChenandGitHub 6850d6ed8e Support for full url (base on aalubin changes) (#941) 2018-10-21 04:04:07 +08:00
Ta-Ching ChenandGitHub d38e2c1ede Bump flask version (#942) 2018-10-18 22:56:04 +08:00
Ta-Ching ChenandGitHub 8e66c31870 Add X-Forwarded-Host to request header (#890) 2018-10-15 14:17:18 +08:00
Ta-Ching ChenandGitHub 756b9fd901 Fix flag not found problem when running canary demo scripts (#914) 2018-10-02 22:07:03 +08:00
Ta-Ching ChenandGitHub 9ff041aba4 Fission supportability: Add dump command to dump information for debugging (#754)
* Add v1 support tool proposal
* Fission supportability: Add dump command to dump information for debugging
2018-09-19 14:35:51 +08:00
Ta-Ching ChenandGitHub 6fb3b6f292 Check CRD creation error instead of doing return directly (#897) 2018-09-18 16:30:56 +08:00
Ta-Ching ChenandGitHub 0d5905661f Fix fetcher not close file descriptor correctly (#889)
* Fix fetcher not close file descriptor correctly
* Call Sync() before chmod
2018-09-11 14:15:56 +08:00
Ta-Ching ChenandGitHub a87ef2b133 Check pod container ready state (#861)
Ensure pod is ready by checking pod’s containers state and deletionTimestamp
2018-09-07 22:17:07 +08:00
Ta-Ching ChenandGitHub d4be3520ad Fix failed to find release-builder dockerfile & push specific tag (#870) 2018-08-26 23:02:07 +08:00
Ta-Ching ChenandGitHub 05101c002e V0.10.0 (#868) 2018-08-19 19:05:19 +08:00
Ta-Ching ChenandGitHub a4c0221e0b Add cleanup function to test scripts (#863) 2018-08-18 02:11:08 +08:00
Ta-Ching ChenandGitHub 4edd24daee Scale deployment to zero when function is in idle state (#775) 2018-08-17 23:03:34 +08:00
Ta-Ching ChenandGitHub 3e738e2798 Fix CLI failed to setup port-forward caused by #712 (#867) 2018-08-17 16:05:13 +08:00
Ta-Ching ChenandGitHub 833c04243b Fix newdeploy fail to update HPA, deployment of a function after function update (#862) 2018-08-15 19:56:30 +08:00
Ta-Ching ChenandGitHub 20468a67e2 Fix router not taps function services (#860) 2018-08-13 19:45:49 +08:00
Ta-Ching ChenandGitHub 640e1692fb Add rebuild subcommand to pkg command (#808) 2018-08-12 04:13:25 +08:00
Ta-Ching ChenandGitHub 34deadd02a Fix router panic when trying to update route (#811) 2018-08-05 01:06:47 +08:00
Ta-Ching ChenandGitHub 1a6f3f9c9d Fix spec failed to archive single directory (#837) 2018-08-03 21:26:19 +08:00
Ta-Ching ChenandGitHub c192f49f93 Do resources validation when validate spec files (#840) 2018-08-03 13:00:29 +08:00
Ta-Ching ChenandGitHub 3ff72f9ca2 Fix newdeploy not updates deployment after function's entrypoint changed (#838) 2018-08-02 21:00:27 +08:00
Ta-Ching ChenandGitHub 95a460230c Fix CLI failed to set up port-forwarding when multiple controller pods exist in the same namespace (#712)
* Fix CLI failed to set up port-forwarding when multiple controller pods exist in the same namespace
* Check pod healthy state before establishing the connection
2018-08-02 17:20:53 +08:00
Ta-Ching ChenandGitHub 697f22f10b Add more meaningful error messages to executor when getServiceForFunction (#752) 2018-07-30 09:10:48 +08:00
Ta-Ching ChenandGitHub b7ca113ee0 Add go environment vendor directory support (#781)
* Add go environment vendor directory support
* Use symbolink instead of copying files to gopath
* Add go vendor example package & test
2018-07-13 13:16:22 +08:00
Ta-Ching ChenandGitHub 92186969df Delete namespace in background to reduce build time (#791)
* Delete namespace in background
* TPR is no longer exists
2018-07-12 11:00:19 +08:00
Ta-Ching ChenandGitHub 1111e86fe3 Break & Stop the build immediately if a non-zero exit code was returned (#790) 2018-07-11 20:15:03 +08:00
Ta-Ching ChenandGitHub b28ab0c2c9 Fix spec command overrides existing archive's url of a package (#764) 2018-07-11 13:03:45 +08:00
Ta-Ching ChenandGitHub a021f5003a Fix “rm: missing operand” in release script (#779) 2018-07-06 14:15:20 +08:00
Ta-Ching ChenandGitHub 6cffe7b727 Fix go env panic “plugin: not implemented” (#784) 2018-07-06 12:24:46 +08:00
Ta-Ching ChenandGitHub 58ee3541db Change flag name to KeepArchive for backward compatibility (#787) 2018-07-06 03:13:07 +08:00
Ta-Ching Chenandsmruthi2187 bb049a7639 Move build process from host to docker container during release process (#682) 2018-07-03 21:14:06 -07:00
Ta-Ching ChenandGitHub ba44ca0d87 Add release steps to render & upload fission installation YAML (#745) 2018-06-26 13:41:43 +08:00
Ta-Ching ChenandGitHub d7ed94dfe4 Fix executor not reaps idle function pods for functions with executortype newdeploy (#744) 2018-06-21 17:54:42 +08:00
Ta-Ching ChenandGitHub 7514166595 Fix executor wrongly passes loop variable reference to function (#751) 2018-06-19 09:55:41 +08:00
Ta-Ching ChenandGitHub cb45f0a455 Add time trigger cron spec examination tool (#680) 2018-06-04 19:02:54 +08:00
Ta-Ching ChenandGitHub 60e46745ce Update k8s dependencies to 1.10 (#687) 2018-06-01 15:43:19 +08:00