Commit Graph
100 Commits
Author SHA1 Message Date
Soam Vasani 0fb12af4e5 add log on specializePod error/clean up 2017-01-06 22:16:49 -08:00
Soam Vasani 3e386fb41d Handle pod cleanup on svc creation error 2017-01-06 22:09:17 -08:00
Soam Vasani e4f7027a69 Reorganize a bit to avoid duplicated error handling 2017-01-06 21:54:15 -08:00
Soam Vasani ebb486d121 Delete pods that failed to load user function 2017-01-06 17:43:03 -08:00
Soam VasaniandGitHub d5516686c8 Merge pull request #69 from fission/poolmgr-gc
Poolmgr: ensure orphaned resources are cleaned up
2017-01-06 17:25:06 -08:00
Soam Vasani 37a00b6116 Add cleanup.go 2017-01-06 17:14:54 -08:00
Soam Vasani eccde4fe74 Poolmgr: clean up orphaned resources on restart
Label all poolmgr-created resources with an id that's unique to a
running poolmgr instance.  On poolmgr start up, clean up resources
created by old instances.  Resources that are idle are killed
immediately; resources that could be running a user function are
killed after the maximum function timeout.
2017-01-06 17:01:21 -08:00
Soam VasaniandGitHub 595e634617 Merge pull request #68 from fission/cli-route-update
Implement 'fission route update'
2017-01-05 16:15:19 -08:00
Soam Vasani e73242f85c Implement 'fission route update'
"fission route update" can now be used to update a route to point to a
different function.
2017-01-05 15:59:39 -08:00
Soam VasaniandGitHub 5829552c3b Merge pull request #67 from fission/function-versioning-cache-bug
Update router cache on new function version
2017-01-05 15:27:29 -08:00
Soam Vasani fa272f20a0 Update router cache on new function version
Addresses issue #51. Makes versioning in poolmgr explicit, so its
cache needs no invalidation on version update.  Functions in poolmgr
are always cached by name and UID.

Router now updates implictly versioned routes with the latest version
of a function.

This means that users will see requests to implicitly-versioned routes
go to the latest version of a function within 3 seconds.  (Those 3 sec
will go away when we use a real watch instead of polling the
controller.)

There's no change in behaviour for routes that explictly specify a
function UID.
2017-01-05 15:02:16 -08:00
Soam VasaniandGitHub cb5cae6501 Merge pull request #66 from fission/changeOrg
Changed Package Names to Match new Github Organization
2016-12-24 10:50:41 -08:00
Soam Vasani 63d7c666e0 Merge branch 'code-of-conduct' 2016-12-21 12:56:01 -08:00
Soam Vasani 3e24cbcca2 Add code of conduct (contributor covenant, v1.4)
We still need to write a nice contributor guide; for now let's just
add a code of conduct.
2016-12-21 12:53:42 -08:00
Soam VasaniandGitHub 08d1e55251 Merge pull request #65 from platform9/route-create-with-fn-create
Add HTTP route create params to function create command
2016-12-20 19:36:48 -08:00
Soam Vasani a5d96b928c Add HTTP route create params to function create command
This allows users to add --method and --url params to their "fission
fn create" command line.  It sets up the route to call the latest
version of the function; user can edit the route with the "fission
route update" command, if they want to.
2016-12-20 17:42:23 -08:00
Soam VasaniandGitHub f0b31564f0 Merge pull request #56 from platform9/kubewatcher
Kubewatcher: trigger functions from Kubernetes Watch callbacks
2016-12-20 14:30:32 -08:00
Soam Vasani d721df998d Fix object-type header passed to event handlers 2016-12-20 14:16:33 -08:00
Soam Vasani c5425180e8 Make webhook publisher use relative urls 2016-12-20 12:19:51 -08:00
Soam Vasani 8704761fd0 watch.Url renamed to watch.Target 2016-12-20 12:11:54 -08:00
Soam Vasani 4d75c3fa4e Make internal urls relative (as before) 2016-12-20 12:11:22 -08:00
Soam Vasani 0456df0d63 Refactor kubewatcher/webhook publisher
Create a Publisher interface. Refactor webhook publisher to satisfy
that interface.

Add some limited retries to webhook publisher.
2016-12-19 14:38:44 -08:00
Soam VasaniandGitHub 7493759134 Merge pull request #61 from platform9/add-kubectl-instructions
Add kubectl download to install instructions
2016-12-16 17:47:16 -08:00
Soam Vasani 1fe894ab1c Add kubectl download to install instructions 2016-12-16 17:42:35 -08:00
Soam VasaniandGitHub cbc4749779 Merge pull request #60 from platform9/readme-minikube-instructions
Readme minikube instructions
2016-12-16 15:24:06 -08:00
Soam Vasani 1c5954ae61 mac/linux instructions 2016-12-16 14:53:34 -08:00
Soam Vasani d503834901 mac/linux download url for minikube 2016-12-16 14:41:12 -08:00
Soam Vasani dcc17d50b8 Include minikube setup instructions 2016-12-16 14:22:40 -08:00
Soam VasaniandGitHub ea4a9faceb Merge pull request #59 from platform9/fission-cli-bug
Check for name in 'function delete'
2016-12-16 13:50:40 -08:00
Soam Vasani f84827e384 Check for name in 'function delete' 2016-12-16 13:43:00 -08:00
Soam VasaniandGitHub 943b15f5a7 Merge pull request #57 from kaustubhvp/adding-go-report-card
adding go-report card and fixing minor typo in README
2016-12-16 09:35:19 -08:00
Soam Vasani dddb50c00f cli watch impl 2016-12-16 00:54:06 -08:00
Soam Vasani de30886c9e compile error 2016-12-16 00:43:45 -08:00
Soam Vasani 215f4fc30f comments 2016-12-15 19:48:45 -08:00
Soam Vasani 53c49d1485 Add an atomic bool to track if a watch is stopped
Saw a watch channel close once without actually calling watch.Stop.
Need to investigate this a bit and handle it if necessary.
2016-12-15 09:34:03 -08:00
Soam Vasani 4bc7480acd Add request logging to router 2016-12-15 09:33:02 -08:00
Soam Vasani 5c6dcca19d Pass obj type to functions 2016-12-12 08:46:19 -08:00
Soam Vasani b7906905c2 Make the internal triggers point to the latest version 2016-12-11 19:59:10 -08:00
Soam Vasani f1e1da4ceb Bugfix in fission-bundle arg parsing 2016-12-11 19:58:26 -08:00
Soam Vasani 5e3adc0b59 Log on function exception 2016-12-11 19:58:04 -08:00
Soam Vasani 0fb4cc1536 Use latest version of function for watches 2016-12-11 00:07:25 -08:00
Soam Vasani 193cf594be Let fission CLI tolerate URL with/without leading http:// 2016-12-10 19:56:45 -08:00
Soam Vasani 7918b89fd2 Bugfix in kubewatcher deployment yaml 2016-12-10 19:56:15 -08:00
Soam Vasani 2379cb6f81 Add watches to fission CLI 2016-12-10 19:55:43 -08:00
Soam Vasani f29e69c581 Fix cleanup on duplicate function specialization 2016-12-10 19:55:20 -08:00
Soam Vasani ddb189bda2 Kube requests: add content-type 2016-12-10 19:54:01 -08:00
Soam Vasani 188280488c Fix bug in populating watch url 2016-12-10 19:53:13 -08:00
Soam Vasani 9dcd2b711f Add kubewatcher deployment to yaml 2016-12-09 23:58:31 -08:00
Soam Vasani 4ae0ab98e8 Add kubewatcher to fission-bundle 2016-12-09 23:43:27 -08:00
Soam Vasani a69834157f Controller crud for Watch type
Controller and client crud, API routes, and a unit test for the Watch
type.
2016-12-09 23:42:03 -08:00
Soam Vasani 3a6d5bb070 Add "internal" routes for all functions
These routes allow us to call any function without explicitly defining
a route for them.  TODO: if we can serve these routes from a separate
instance of router (controlled by a commandline flag or env var), we'd
be able to keep this instance of the router "private" by not assigning
it a loadbalancer/nodeport or other externally-visible service.
2016-12-09 23:34:46 -08:00
Soam Vasani e49af8ca78 Watch type
Contains parameters to start a Kubernetes watch, and a function to
call when the watch triggers.
2016-12-09 23:25:29 -08:00
Soam Vasani fa093829bc Kubernetes events watcher
Kubewatcher watches the Kubernetes API for Watches that have been
configured on the fission controller.  It then posts that event to the
function configured in the watch.
2016-12-09 23:22:18 -08:00
Soam VasaniandGitHub 85b0a239c0 Merge pull request #49 from kaustubhvp/py-common-libs
adding commonly used python libraries
2016-12-08 17:00:21 -08:00
Soam VasaniandGitHub 88f33b9382 Merge pull request #48 from platform9/python-setup-logger
Setup app.logger for python environment

Fixes #47
2016-12-08 14:22:00 -08:00
Soam Vasani 4a6a088eca Modify example a bit 2016-12-08 14:13:01 -08:00
Soam Vasani 5f02f6c8ca Setup app logger in python environment
The user's functions can now use `current_app.logger`, and use
`kubectl logs` to see the logs that the function outputs.
2016-12-08 14:03:27 -08:00
Soam Vasani ab96ed2917 Add a python example showing how to get at request data 2016-12-08 11:59:59 -08:00
Soam VasaniandGitHub e8a84dcaa3 Merge pull request #46 from platform9/add-build-badge
Add build badge
2016-12-05 09:57:56 -08:00
Soam Vasani e627a55988 move status badge 2016-12-05 09:31:42 -08:00
Soam Vasani ed426db4a4 Add travis build status badge back to README 2016-12-04 20:12:05 -08:00
Soam VasaniandGitHub 5e56d99415 Merge pull request #45 from platform9/run-etcd-in-travis
Install and run etcd on travis
2016-12-04 18:44:48 -08:00
Soam Vasani cd5325090b Background etcd in travis run script 2016-12-04 18:33:50 -08:00
Soam Vasani 4c14f34969 Install and run etcd on travis 2016-12-04 18:19:03 -08:00
Soam VasaniandGitHub f3aeb28add Merge pull request #44 from platform9/poolmgr-test
Bugfix in functionServiceCache test
2016-12-04 15:31:58 -08:00
Soam Vasani 571fa6b0e7 function service cache test bugfix 2016-12-04 15:23:55 -08:00
Soam VasaniandGitHub ea03e0abc2 Merge pull request #42 from platform9/travis-test
#25 Continuous Testing
2016-12-04 14:58:16 -08:00
Soam VasaniandGitHub dd08d07d59 Merge pull request #43 from platform9/fix-cache-test
Fix cache test
2016-12-04 14:15:22 -08:00
Soam Vasani 675cc4f360 Fix cache test
cache.Set() returns existing value; update the test accordingly.
2016-12-04 14:10:02 -08:00
Soam VasaniandGitHub c8c0afc68f Merge pull request #41 from carmark/travis
Add travis integration test and fix the tag for client-go in glide.yaml.
2016-12-03 23:10:41 -08:00
Soam VasaniandGitHub 5a007184d4 Merge pull request #39 from pirogoeth/patch-1
Fix `environment` command typo.
2016-11-30 20:01:18 -08:00
Soam VasaniandGitHub 3672abbe82 Merge pull request #38 from platform9/edit-readme
Streamline the README's setup instructions a bit.  Add links to Mac & Linux CLI binaries.
2016-11-30 16:12:12 -08:00
Soam Vasani 36e056c1f4 make cli download into 1 copy-pasteable command 2016-11-30 16:00:41 -08:00
Soam Vasani 87e2daf455 minor readme edits 2016-11-30 15:47:17 -08:00
Soam Vasani a37b71e063 link to gke; other readme edits 2016-11-30 15:45:48 -08:00
Soam Vasani 654763cac1 Mac/linux CLI 2016-11-30 14:30:00 -08:00
Soam Vasani 460db87bd7 Merge env var section to setup 2016-11-30 14:13:00 -08:00
Soam Vasani 3aa0c2e803 Streamline setup instructions a bit 2016-11-30 13:48:42 -08:00
Soam VasaniandGitHub 9e452fd325 Merge pull request #36 from efexen/patch-1
Updated README to include protocol scheme for FISSION_URL prefix
2016-11-29 21:00:48 -08:00
Soam VasaniandGitHub e94f0c0d6f Merge pull request #34 from johscheuer/update-readme
Add minikube example in readme; split fission.yaml into core + one for LoadBalancer services and another for NodePort services.
2016-11-29 20:52:53 -08:00
Soam VasaniandGitHub 18dd175c9f Merge pull request #32 from philips/patch-1
README: use kubectl create -f http
2016-11-28 18:50:58 -08:00
Soam Vasani 84851922f3 Fixes #31: Explicitly tag fission-bundle image in fission.yaml 2016-11-28 14:52:13 -08:00
Soam VasaniandGitHub 53e9ba6283 Merge pull request #30 from platform9/python-improvements
Python environment improvements
2016-11-19 20:15:40 -08:00
Soam Vasani 640e65f35f Use Flask for Python environment
Flask gives us easy routing support, and simple interface for getting
at request data.
2016-11-19 20:04:46 -08:00
Soam Vasani 8a9559be1f Pass a valid context 2016-11-19 11:01:28 -08:00
Soam VasaniandGitHub 04efe0bad4 Merge pull request #29 from platform9/readme-updates
Readme updates
2016-11-17 16:36:55 -08:00
Soam Vasani a2df49c04f typo 2016-11-17 16:35:56 -08:00
Soam Vasani c213f18bbb k8s benefits 2016-11-17 16:33:48 -08:00
Soam Vasani c3187a2d23 web and twitter links 2016-11-17 16:31:24 -08:00
Soam Vasani 05bc663b3f readme updates 2016-11-17 16:28:41 -08:00
Soam Vasani 3b5139dca3 readme updates 2016-11-17 16:22:10 -08:00
Soam Vasani c733864df5 readme updates 2016-11-17 16:11:56 -08:00
Soam Vasani 6cdae1ae3a Update README with some more project explanation 2016-11-17 16:07:42 -08:00
Soam VasaniandGitHub 54bf4abbcb Merge pull request #28 from platform9/cli-function-edit
Add "fission function edit <function>" command
2016-11-15 16:16:56 -08:00
Soam Vasani 1a19f718d4 Add a "fission function edit" command
The new command invokes editor on a copy of the source code, and
uploads the new source code.  It's an easy way to manually edit
functions from a terminal.
2016-11-15 15:51:47 -08:00
Soam Vasani 2a9f229c17 Fix incorrect JSON in version message 2016-11-15 14:33:31 -08:00
Soam Vasani 2eceb8263d Remove unused imports 2016-11-15 14:21:08 -08:00
Soam Vasani d6efca07a2 Add a tag argument to push.sh 2016-11-15 14:05:05 -08:00
Soam Vasani 96e14180c4 Don't check controller filestore path
It's created on-demand by fileStore.
2016-11-15 14:04:32 -08:00
Soam VasaniandGitHub 679590883d Merge pull request #27 from platform9/move-to-latest-client
Move client-go dependency to 1.5
2016-11-14 16:33:39 -08:00