Ta-Ching Chen and GitHub
b6ea85e353
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 Chen and GitHub
29aabaabda
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 Chen and GitHub
619b390af3
Support for full url (base on aalubin changes) ( #941 )
2018-10-21 04:04:07 +08:00
Ta-Ching Chen and GitHub
5aeba59b75
Bump flask version ( #942 )
2018-10-18 22:56:04 +08:00
Ta-Ching Chen and GitHub
d23b210f4e
Add X-Forwarded-Host to request header ( #890 )
2018-10-15 14:17:18 +08:00
Ta-Ching Chen and GitHub
e4213f6eb6
Fix flag not found problem when running canary demo scripts ( #914 )
2018-10-02 22:07:03 +08:00
Ta-Ching Chen and GitHub
6b49c194ca
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 Chen and GitHub
a86c9431d3
Check CRD creation error instead of doing return directly ( #897 )
2018-09-18 16:30:56 +08:00
Ta-Ching Chen and GitHub
82d23b9bf8
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 Chen and GitHub
a4f58fbf10
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 Chen and GitHub
21b0a1d852
Fix failed to find release-builder dockerfile & push specific tag ( #870 )
2018-08-26 23:02:07 +08:00
Ta-Ching Chen and GitHub
f8535be7da
V0.10.0 ( #868 )
2018-08-19 19:05:19 +08:00
Ta-Ching Chen and GitHub
2d01382a82
Add cleanup function to test scripts ( #863 )
2018-08-18 02:11:08 +08:00
Ta-Ching Chen and GitHub
d443f8b2ef
Scale deployment to zero when function is in idle state ( #775 )
2018-08-17 23:03:34 +08:00
Ta-Ching Chen and GitHub
dffb5cdf8b
Fix CLI failed to setup port-forward caused by #712 ( #867 )
2018-08-17 16:05:13 +08:00
Ta-Ching Chen and GitHub
9d7355cbaa
Fix newdeploy fail to update HPA, deployment of a function after function update ( #862 )
2018-08-15 19:56:30 +08:00
Ta-Ching Chen and GitHub
07ca5df8d0
Fix router not taps function services ( #860 )
2018-08-13 19:45:49 +08:00
Ta-Ching Chen and GitHub
e730376e3e
Add rebuild subcommand to pkg command ( #808 )
2018-08-12 04:13:25 +08:00
Ta-Ching Chen and GitHub
27b74a7cf2
Fix router panic when trying to update route ( #811 )
2018-08-05 01:06:47 +08:00
Ta-Ching Chen and GitHub
088e665d28
Fix spec failed to archive single directory ( #837 )
2018-08-03 21:26:19 +08:00
Ta-Ching Chen and GitHub
b5a906b2f4
Do resources validation when validate spec files ( #840 )
2018-08-03 13:00:29 +08:00
Ta-Ching Chen and GitHub
0e40cb5f4f
Fix newdeploy not updates deployment after function's entrypoint changed ( #838 )
2018-08-02 21:00:27 +08:00
Ta-Ching Chen and GitHub
1a1ac49ce0
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 Chen and GitHub
9a7ffc2f5b
Add more meaningful error messages to executor when getServiceForFunction ( #752 )
2018-07-30 09:10:48 +08:00
Ta-Ching Chen and GitHub
425e447e5c
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 Chen and GitHub
2982efebb8
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 Chen and GitHub
14db705891
Break & Stop the build immediately if a non-zero exit code was returned ( #790 )
2018-07-11 20:15:03 +08:00
Ta-Ching Chen and GitHub
9c885ef6f5
Fix spec command overrides existing archive's url of a package ( #764 )
2018-07-11 13:03:45 +08:00
Ta-Ching Chen and GitHub
462db2f00c
Fix “rm: missing operand” in release script ( #779 )
2018-07-06 14:15:20 +08:00
Ta-Ching Chen and GitHub
2504408803
Fix go env panic “plugin: not implemented” ( #784 )
2018-07-06 12:24:46 +08:00
Ta-Ching Chen and GitHub
61569d1c38
Change flag name to KeepArchive for backward compatibility ( #787 )
2018-07-06 03:13:07 +08:00
Ta-Ching Chen and smruthi2187
44be0f6859
Move build process from host to docker container during release process ( #682 )
2018-07-03 21:14:06 -07:00
Ta-Ching Chen and GitHub
c863616b38
Add release steps to render & upload fission installation YAML ( #745 )
2018-06-26 13:41:43 +08:00
Ta-Ching Chen and GitHub
c705ba355e
Fix executor not reaps idle function pods for functions with executortype newdeploy ( #744 )
2018-06-21 17:54:42 +08:00
Ta-Ching Chen and GitHub
58a5f1cb0b
Fix executor wrongly passes loop variable reference to function ( #751 )
2018-06-19 09:55:41 +08:00
Ta-Ching Chen and GitHub
0057270551
Add time trigger cron spec examination tool ( #680 )
2018-06-04 19:02:54 +08:00
Ta-Ching Chen and GitHub
7a7d15b50c
Update k8s dependencies to 1.10 ( #687 )
2018-06-01 15:43:19 +08:00
Ta-Ching Chen and GitHub
fedf6b6e5b
Check spec directory exists before reading spec files ( #709 )
...
* Check spec directory exists before reading spec files
* Fix spec example
2018-05-31 03:01:40 +08:00
Ta-Ching Chen and GitHub
9c91f00cb4
Replace Werkzeug with Bjoern as underlying WSGI server ( #672 )
2018-05-09 14:00:40 +08:00
Ta-Ching Chen and GitHub
0a648d1d75
Version -> 0.7.2 ( #670 )
2018-05-05 20:01:23 +08:00
Ta-Ching Chen and GitHub
6a3e326f36
Add benchmark script ( #666 )
2018-05-05 12:42:16 +08:00
Ta-Ching Chen and GitHub
0e3a270d27
Delete deployment with proper delete propagation policy ( #630 )
2018-05-01 23:25:50 +08:00
Ta-Ching Chen and GitHub
6a7381c575
Fix newdeploy backend failed to delete deployment due to incorrect resource version ( #657 )
2018-05-01 16:48:34 +08:00
Ta-Ching Chen and GitHub
7577339912
Change time precision for fluentd influxdb plugin to nano second ( #646 )
2018-04-26 20:57:55 +08:00
Ta-Ching Chen and GitHub
6375819195
Fix test cases occasional failure ( #647 )
2018-04-26 14:39:16 +08:00
Ta-Ching Chen and GitHub
2d359f879a
Fix SEGFAULT issue when buildmgr failed to update package ( #635 )
2018-04-21 23:17:33 +08:00
Ta-Ching Chen and GitHub
400e19a48f
Fix executor does not reap specialized function pod when env no longer exists ( #633 )
2018-04-19 07:39:37 +08:00
Ta-Ching Chen and GitHub
0194f53e12
Fix SEGFAULT issue when build manager failed to update package ( #626 )
2018-04-17 09:36:11 +08:00
Ta-Ching Chen and GitHub
cf53e17be5
Remove confusing default value description & add default value to cli flag ( #619 )
2018-04-16 17:27:10 +08:00
Ta-Ching Chen and GitHub
d01b309fc7
Add validate function to crd resource and do validate before creation/update ( #580 )
2018-04-08 00:56:13 +08:00
Ta-Ching Chen and GitHub
1dbf8f9243
Fix components crash before crds creation ( #602 )
...
* Wait for CRDs creation for 30 sec when component start
* Fix ensureCRD return nil while the error is not empty
2018-04-04 15:40:55 +08:00
Ta-Ching Chen and GitHub
9406720e8a
Add deprecated message to subcommand pods ( #592 )
2018-04-04 01:26:27 +08:00
Ta-Ching Chen and GitHub
2a06705320
Use a separate controller loop to watch functions change and create a service ( #544 )
2018-04-04 01:17:51 +08:00
Ta-Ching Chen and GitHub
6ab902e7a3
Add steps for how to set FISSION_ROUTER env variable & update docs ( #593 )
2018-03-31 01:10:40 +08:00
Ta-Ching Chen and Soam Vasani
03046170dc
Add post-upgrade-job to track fission upgrade ( #564 )
2018-03-26 12:28:35 -07:00
Ta-Ching Chen and GitHub
1447e6949d
Show fission deployment version with cli ( #538 )
...
Add version information to binary through go ldflags
2018-03-19 14:14:55 +08:00
Ta-Ching Chen and GitHub
048ab6149a
Fix executor failed to clean cache & kubeobjs after function deleted ( #534 )
2018-03-14 02:29:12 +08:00
Ta-Ching Chen and GitHub
039e003af6
Always retry for function pod specialization when istio feature is enabled. ( #536 )
2018-03-11 23:17:05 +08:00
Ta-Ching Chen and GitHub
afd7f7f436
Show warning when trying to create a route with non-existent function ( #539 )
2018-03-09 02:45:30 +08:00
Ta-Ching Chen and GitHub
b4300feabc
Fix executor tries to create a new deployment when a function is updated ( #524 )
...
Newdeploy manager now checks the existence of function service cache by function UID before trying to create a new deployment. And return the cached fsvc directly if the cache exists.
2018-03-08 02:52:36 +08:00
Ta-Ching Chen and GitHub
5e2f984136
Fix CLI not update function's secret/configmap correctly ( #512 )
...
This PR addressed some issues introduced in PR399. Also, now env builders and function pods can mount shared secret/configmap volumes correctly.
2018-02-28 05:28:05 +08:00
Ta-Ching Chen and GitHub
23942fdf7d
Istio integration ( #421 )
...
This the very first step for fission to integrate with Istio, which is an open platform to connect, manage, and secure microservices. With Istio, users are able to monitor functions usage and trace requests latency through dashboards. For more information, please visit http://fission.io/docs/
2018-02-28 04:09:32 +08:00
Ta-Ching Chen and GitHub
1428c64b4f
Fix post-install-job container failure due to curl command not found ( #514 )
2018-02-27 18:08:16 +08:00
Ta-Ching Chen and Soam Vasani
f695a81c46
Improve release script ( #494 )
...
* Add step for releasing environment builder image
* Strip $GOPATH from strack trace
2018-02-12 15:42:23 -08:00
Ta-Ching Chen and GitHub
46895b03c8
Update SHA256 HASH in CHANGELOG.md due to binaries update ( #493 )
...
Update SHA256 HASH in CHANGELOG.md due to binaries update due to build flags change.
(Strip GOPATH from stack trace)
2018-02-10 00:47:44 +08:00
Ta-Ching Chen and GitHub
a5cb1d3e3d
Add simple usage doc for accessing secret/configmap in function ( #484 )
2018-02-08 13:05:30 +08:00
Ta-Ching Chen and GitHub
582c9808b5
Add upgrade guide from 0.4.x to 0.5.0 ( #490 )
2018-02-08 13:05:04 +08:00
Ta-Ching Chen and GitHub
398c58365a
Version -> 0.5.0 ( #489 )
2018-02-08 03:39:02 +08:00
Ta-Ching Chen and GitHub
9deb4f53db
Fix binary environment build failure due to package not found ( #487 )
...
Subpackage k8s.io/client-go/pkg/api/v1 is no longer exist in HEAD.
(https://github.com/kubernetes-incubator/external-storage/issues/324 )
For now, just duplicate the FunctionLoadRequest struct like what go environment did.
2018-02-07 21:44:12 +08:00
Ta-Ching Chen and GitHub
3c513c7f61
Migrate project.json to dotnet.csproj & do build in dotnet container ( #488 )
2018-02-07 21:43:51 +08:00
Ta-Ching Chen and Soam Vasani
c56ed598cb
Fix potential nil pointer problem when both watchResources and waitForBuild are equal to false ( #485 )
2018-02-06 15:14:47 -08:00
Ta-Ching Chen and GitHub
3f81510729
Fix possible context leak problem ( #483 )
2018-02-06 21:34:01 +08:00
Ta-Ching Chen and GitHub
cc62e62229
Add glide flag to strip nested vendor ( #480 )
...
Adds --strip-vendor (-v) to travis.yml when installing dependencies.
For more information about the flag, please check dependency flattening (https://glide.readthedocs.io/en/stable/getting-started/ )
2018-02-06 02:31:06 +08:00
Ta-Ching Chen and GitHub
1935098404
Add readiness probe to go env ( #461 )
2018-01-30 21:36:13 +08:00
Ta-Ching Chen and Soam Vasani
4f7eb19b7c
Show warning when user tries to create a function with a non-existent environment ( #436 )
...
Show warning when user try to create a function with non-existent environment
2018-01-26 16:35:17 -08:00
Ta-Ching Chen and GitHub
0a733b20c3
Block build requests until environment builder is ready ( #437 )
...
* Add readiness probe
* Remove builder manager http api interface since we don’t use/need it
* Check environment builder status and block build requests until builder is ready
* Replace deprecated api extension interface
* Add healthy check to python env
2018-01-26 01:13:36 +08:00
Ta-Ching Chen
b7c97cec8c
Fix fission bundle build failure
2018-01-24 15:38:52 +08:00
Ta-Ching Chen
01bcfad44a
Update docs-site
2018-01-23 13:27:10 +08:00
Ta-Ching Chen and Soam Vasani
8df520721c
Add go vet check ( #430 )
...
* Add go vet check
* Replace go vet with go tool vet to avoid printing exit message
2018-01-22 09:28:16 -08:00
Ta-Ching Chen and Soam Vasani
6a1da19e73
Fix python environment failed to launch due to port needs integer not string ( #451 )
2018-01-20 06:06:50 -08:00
Ta-Ching Chen and Soam Vasani
64a82747a9
Improve travi-ci test scripts ( #434 )
...
Make our travis-based integration test less flaky:
* Wait for tiller ready before installation
* Remove all existing old releases before installation
2018-01-01 11:34:11 +05:30
Ta-Ching Chen and Soam Vasani
5f9e54bbeb
Fix glide failed to check out github.com/dsnet/compress & update gorilla pkg version ( #429 )
2017-12-14 05:23:49 +05:30
Ta-Ching Chen and Soam Vasani
eed3018458
[Issue 423] build logs not saved on build error ( #426 )
...
* Fix builder return empty buildlogs when encounters errors
* Append error logs to build logs
* Builder manager updates package with build logs plus error log
* Fix potential nil pointer bug
* Replace numeric status code with built-in const
* Remove no use parameter
* Fix go fmt
2017-12-06 22:20:41 -06:00
Ta-Ching Chen and Soam Vasani
43fea01bd9
Overwrite request host with internal host to prevent request rejection ( #419 )
2017-11-30 23:58:14 -08:00
Ta-Ching Chen and Soam Vasani
49169e672d
Fix pool manager crash problem if failed at http call ( #418 )
2017-11-30 13:40:17 -08:00
Ta-Ching Chen and Soam Vasani
140b132c8e
Update nats dependencies ( #411 )
2017-11-28 16:12:31 -08:00
Ta-Ching Chen and Soam Vasani
36008f28d8
Add package command ( #385 )
...
Add package command support: This PR adds package command to CLI. package provides some useful subcommands to use such as packages CRUD and display package detail information. Also it is able to reuse existing package at function creation.
* Check function existence before creating package
* Check package existence
* Add support for downloading archive from given url
The functionality was supported before e238776bf7 . Add this functionality back for more flexible usage.
* Add output flag to save archive content in specific file
* Add logs when package create/update
* Fix fnCreate requires environment argument when a pkg is specified
* Fix fnUpdate failed to update function pkg info when a package is specified
* Add package command test
* Fix wrong python test image in test script
* Remove package description fields
* Fix package command not update package but creating a new one
* Set package as pending status only when there is no deploy archive
* Rename function from fetchArchiveFromArbitraryURL to downloadToTempFile
* Use io.Copy to prevent loading all body into memory
* Revise some messages
* Allow user to update package build command
* Allow user to update package content when using function update
* Retrieve pkgName from function packageref if it’s not specified
* Fix function failed to update due to resource conflict
* Fix test case failure due to single quote
* kick ci
* Fix failed to update function packageRef
* kick ci
* kick ci
2017-11-25 06:54:43 -08:00
Ta-Ching Chen and Soam Vasani
da07b35a96
Use common controller/store for httpTriggerSet and functionReferenceResolver ( #390 )
...
This fixes a bug where functionReferenceResolver returned out-of-date function metadata and caused the router to proxy requests to old function pods.
It also uses the go context package to shutdown the controller when the router is shutting down.
2017-11-09 07:07:14 -08:00
Ta-Ching Chen and Soam Vasani
9694ba4fd1
Delete failed helm releases to prevent test case failure ( #393 )
2017-11-09 06:04:06 -08:00
Ta-Ching Chen and Soam Vasani
a63b8b372f
Builder manager bugfixes ( #367 )
...
This contains a few different builder manager fixes:
* Update the zip file structure to avoid an extra subdirectory
* Annotate packages with what functions are using them
* Only trigger builds when there is no deployment archive
* Python environment loadpath bugfixes
* Other bugfixes
2017-11-06 23:01:46 -08:00
Ta-Ching Chen and Soam Vasani
380b7d1bcd
Use k8s client store to sync functions and triggers for fast synchronization ( #382 )
2017-11-06 12:58:19 -08:00
Ta-Ching Chen and Soam Vasani
5f14b9b0ae
Switch from ThirdPartyResources to CustomResourceDefinitions ( #381 )
...
Switch Fission's storage over to the new CustomResourceDefinitions, from the deprecated ThirdPartyResources. This allows us to be compatible with Kubernets 1.8 and onwards.
This also adds a CLI tool for dumping state from an old fission version and restoring state into new CRDs.
The storage service is unaffected by this change.
2017-11-04 14:55:16 -07:00
Ta-Ching Chen and Soam Vasani
439e7d4535
Use Kubernetes informer and cache in router ( #376 )
...
Use Kubernetes client's informer and cache to watch functions and triggers in the router. This replaces the polling loop we were using so far.
2017-10-25 15:10:44 -07:00
Ta-Ching Chen and Soam Vasani
a25c167d23
Update k8s client version to 4.0.0 ( #351 )
...
Move to client-go v4.0.0 from 1.5.
2017-09-29 07:37:36 -07:00
Ta-Ching Chen and Soam Vasani
e587eca08f
Add builder manager support ( #308 )
...
This change orchestrates function builds.
Environments (in v2) define a builder image, just like they do a runtime image. The builder image contains a build script that's invoked with source and deployment paths (as env vars).
The buildermgr watches for environments with build images defined, and creates build deployments and services.
Functions can define source and deployment. Buildermgr watches for functions with source code (and build status == pending) and invokes the environment's builder when appropriate. It captures logs from the build and sets the build status (success/failure) and build lots into the PackageStatus.
2017-09-25 07:53:09 -07:00
Ta-Ching Chen and Soam Vasani
a720377f3c
Use Containers to find matched storage containers ( #350 ) ( #353 )
...
Use stow api correctly to find our function storage container on restarts.
2017-09-24 10:36:06 -07:00
Ta-Ching Chen and Soam Vasani
42819ba362
Fix storage service failed to start after restarting it ( #352 )
2017-09-24 08:21:13 -07:00
Ta-Ching Chen and Soam Vasani
e56e6482b3
Fix missing checksum from CLI uploads (issue #342 ) ( #343 )
...
Archive upload from the CLI wasn't filling in the checksum field, causing validation to fail.
2017-09-22 12:27:42 -07:00
Ta-Ching Chen and Soam Vasani
9d7bd49338
Use latest function metadata to check cached function service. ( #316 )
...
Watch functions in the router and use that to trigger functionReferenceResolver cache invalidation.
We might want to rate-limit syncTriggers in a future change, since we might be triggering it more often than needed.
2017-09-08 13:53:02 -07:00
Ta-Ching Chen and Soam Vasani
1b9fa5bc30
Unarchive zip file after fetcher downloads the package ( #301 )
...
Fetcher now uncompresses archive files.
This is triggered by automatically detecting the file format, although maybe we should make that explicit or at least move the detection into the client.
2017-09-01 07:50:47 -07:00