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 Vasani and GitHub
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 Vasani and GitHub
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 Vasani and GitHub
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 Vasani and GitHub
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 Vasani and GitHub
ea03e0abc2
Merge pull request #42 from platform9/travis-test
...
#25 Continuous Testing
2016-12-04 14:58:16 -08:00
Soam Vasani and GitHub
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 Vasani and GitHub
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 Vasani and GitHub
5a007184d4
Merge pull request #39 from pirogoeth/patch-1
...
Fix `environment` command typo.
2016-11-30 20:01:18 -08:00
Soam Vasani and GitHub
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 Vasani and GitHub
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 Vasani and GitHub
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 Vasani and GitHub
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 Vasani and GitHub
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 Vasani and GitHub
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 Vasani and GitHub
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 Vasani and GitHub
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
Soam Vasani
9aab4f0795
Move client-go dependency to 1.5
...
Client 1.5 is compatible with Kubernetes version 1.3 through 1.5.
2016-11-14 16:25:23 -08:00
Soam Vasani
92846da7c2
README formatting
2016-11-12 10:38:52 -08:00
Soam Vasani and GitHub
26aa0998fd
Use http for fission.io link
...
fission.io is on github pages, which doesn't seem to support SSL on custom domains. Use http for now.
2016-11-12 08:43:27 -08:00
Soam Vasani
87a7fa6e26
Use glide for dependency mgmt; update README
...
And compilation instructions to README.
2016-11-11 14:15:59 -08:00
Soam Vasani
e219804cde
Fix segfault in defer statement
...
A defer statement contained an access to a pointer that was set to
nil before the deferred statement was run; remove it and just
explicity run the statement.
2016-11-11 11:56:19 -08:00
Soam Vasani
ac039535a1
Couple of nodejs examples -- hello world and a slack bot
2016-11-11 09:30:55 -08:00
Soam Vasani
1a86078fc0
Very rudimentary Python support
...
Create a python environment. Only supports GET; doesn't support any
parameters etc. yet. Basically just enough for a hello world demo.
2016-11-09 10:02:03 -08:00
Soam Vasani
8de691b914
Ensure markdown doesn't re-wrap lines that are commands
2016-11-08 00:45:38 -08:00
Soam Vasani
1080126b9e
Store files at /filestore
2016-11-08 00:44:46 -08:00
Soam Vasani
e80d4a7492
README updates
2016-11-08 00:40:55 -08:00
Soam Vasani
842f5eaa45
Remove extra whitespace from deployment yaml
2016-11-08 00:17:03 -08:00
Soam Vasani
3533c158d6
Add version to controller API
2016-11-07 14:33:00 -08:00
Soam Vasani
164c1b3c89
Kubernetes all-in-one yaml file for fission deployment
...
"kubectl create -f fission.yaml" will deploy fission on the kubernetes
cluster, in the "fission" namespace.
2016-11-07 12:24:08 -08:00
Soam Vasani
d8fdd84368
Handle pod specialization errors
...
Handle pod specialization success/failure better. Make sure we only
retry on connection failure, otherwise fail immediately.
2016-11-07 12:21:10 -08:00
Soam Vasani
fffba6fcf0
CLI improvements
...
Check for required args; allow "route add" as an alias for "route
create".
2016-11-07 10:42:16 -08:00
Soam Vasani
038037dded
Set filestore path in deployment yaml
2016-11-07 10:41:55 -08:00
Soam Vasani
ddf279ed7d
Add some useful packages to nodejs env
2016-11-07 10:41:29 -08:00
Soam Vasani
ef7de75ec3
Minor cli option validation bug
2016-11-05 23:34:55 -07:00
Soam Vasani and GitHub
2a2a21c781
Merge pull request #20 from platform9/reap-idle-pods
...
Reap idle pods
2016-11-05 23:33:45 -07:00
Soam Vasani
c7692978f9
Reap idle pods
...
Idle pod reaper wakes up once a minute, looks in the functionServiceCache for pods that
haven't been accessed for more than idlePodReapTime, and deletes all such pods.
(This doesn't yet delete pods that may be leaked from previously terminated poolmgrs; it
only works with pods created by the current poolmgr instance.)
2016-11-05 23:10:52 -07:00
Soam Vasani
5650fca3fd
Refactor caching in poolmgr
...
Move separate caches to one cache -- functionServiceCache. It can be
looked up by function, can update atime by address, and can be deleted
by podname. This removes the other caches. Some of the concurrency
logic is still a bit hairy; it might be better not to use fission.Cache.
2016-11-05 22:03:48 -07:00
Soam Vasani
8491aaf7fc
Minor router update for cache interface change
2016-11-05 21:42:39 -07:00
Soam Vasani
9dcadd5f4a
Support cache expiry based on create/last access time
2016-11-05 21:41:57 -07:00
Soam Vasani
68f860dcb3
Update unit tests for functionServiceMap change
2016-11-04 23:05:29 -07:00
Soam Vasani
78687d24b3
Idle pod reaper
...
Delete pods that are unused for more than a certain timeout. This
change isn't complete -- other funcSvc caches need to be invalidated
on delete. This needs a bit of refactoring.
2016-11-04 23:05:29 -07:00
Soam Vasani
35a5c94731
Add a reaped bit to funcSvc struct
2016-11-04 23:05:29 -07:00
Soam Vasani
d805928f3e
Cache: add method to get a copy of the map
2016-11-04 23:05:29 -07:00
Soam Vasani
a000d4cc32
Update router for cache expiry
2016-11-04 23:05:29 -07:00
Soam Vasani
d512159cb3
Fix poolmgr cache bug
...
Poolmgr cache was useless because it was keying by *fission.Metadata
instead of the metadata itself.
2016-11-04 23:05:29 -07:00
Soam Vasani
094da5c69a
Add expiry time to cache
...
MakeCache() now takes a time.Duration after which entries are
considered invalid, and not returned from a Get().
2016-11-04 23:05:29 -07:00
Soam Vasani
f639bc3558
Use fission.Cache for functionServiceMap
2016-11-04 23:05:29 -07:00
Soam Vasani
5cfe4b7c1d
Log and ignore errors on eager pool creation
2016-11-04 23:05:29 -07:00
Soam Vasani
f3eba4b825
Call poolmgr from router while using a cached service
...
Poolmgr needs to know usage statistics for a function's pod. This
change asynchronously taps poolmgr API when router uses a service.
Poolmgr can use this information to control pod expiry. It may also
be useful later as one of the metrics for autoscaling.
2016-11-04 23:05:29 -07:00
Soam Vasani and GitHub
22583481a4
Merge pull request #19 from platform9/fission-cli
...
Fission CLI
2016-11-04 23:04:58 -07:00
Soam Vasani
96616507fd
Fission CLI
...
fission (function|httptrigger|environment) (create|get|update|delete|list)
TODO: Commands for getting status, logs, perf stats. Commands for
changing configuration. Add examples.
2016-11-04 22:59:52 -07:00
Soam Vasani
a5ae7688ce
Make *Update functions consistently return fission.Metadata
2016-11-04 22:57:11 -07:00
Soam Vasani
f775806405
Add HTTP method to HTTPTrigger
2016-11-04 22:56:44 -07:00
Soam Vasani
a6cd6e99fe
Eagerly create generic pools
...
Poolmgr now watches the controller's list of environments and eagerly
creates a generic pool for each environment, if one doesn't already exist.
2016-11-03 15:08:06 -07:00