Commit Graph

1176 Commits

Author SHA1 Message Date
CI
1ef2108acc fnserver: 0.3.240 release [skip ci] 2017-12-15 03:41:38 +00:00
Tolga Ceylan
3b12f3fa3d Fn deadline (#591)
* fn: added fn_deadline as RFC3339
2017-12-14 19:25:36 -08:00
CI
2fc96fef8d fnserver: 0.3.239 release [skip ci] 2017-12-14 21:59:49 +00:00
Reed Allman
404250a417 loggy loo for node type on startup (#602)
* loggy loo for node type on startup

* additional english verse

* update to most recent suggestion
2017-12-14 13:43:21 -08:00
CI
76283dd6ae fnserver: 0.3.238 release [skip ci] 2017-12-14 21:27:07 +00:00
Tolga Ceylan
eccce881a6 fn: exclude timeouts from failed error count (#590)
* fn: exclude timeouts from failed error count
2017-12-14 13:10:07 -08:00
CI
e1b6212d28 fnserver: 0.3.237 release [skip ci] 2017-12-14 15:42:55 +00:00
CI
20b73b3452 fnserver: 0.3.236 release [skip ci] 2017-12-14 00:47:58 +00:00
Reed Allman
fab788b539 makes span use init() to run before server.New (#597) 2017-12-13 16:31:19 -08:00
CI
4f7ccab0eb fnserver: 0.3.235 release [skip ci] 2017-12-13 18:44:33 +00:00
Dario Domizioli
6ba8bf4488 Change runner api env var to FN_RUNNER_API_URL (#592) 2017-12-13 10:28:19 -08:00
CI
1aed099d7d fnserver: 0.3.234 release [skip ci] 2017-12-13 00:13:18 +00:00
Reed Allman
bb92547b95 Hybrid plumby (#585)
* fix configuration of agent and server to be future proof and plumb in the hybrid client agent

* fixes up the tests, turns off /r/ on api nodes

* fix up defaults for runner nodes

* shove the runner async push code down into agent land to use client

* plumb up async-age

* return full call from async dequeue endpoint, since we're storing a whole
call in the MQ we don't need to worry about caching of app/route [for now]
* fast safe shutdown of dequeue looper in runner / tidying of agent
* nice errors for path not found against /r/, /v1/ or other path not found
* removed some stale TODO in agent
* mq backends are only loud mouths in debug mode now

* update tests

* Add caching to hybrid client

* Fix HTTP error handling in hybrid client.

The type switch was on the value rather than a pointer.

* Gofmt.

* Better caching with a nice caching wrapper

* Remove datastore cache which is now unused

* Don't need to manually wrap interface methods

* Go fmt
2017-12-12 15:54:55 -08:00
CI
9643e38f5d fnserver: 0.3.233 release [skip ci] 2017-12-12 20:25:06 +00:00
CI
ef735aeb47 fnserver: 0.3.232 release [skip ci] 2017-12-12 20:19:25 +00:00
Tolga Ceylan
b0937f236f fn: headroom error case to clarify OOM (#589) 2017-12-12 12:02:12 -08:00
CI
034b507e65 fnserver: 0.3.231 release [skip ci] 2017-12-12 18:21:48 +00:00
CI
9234bdff96 fnserver: 0.3.230 release [skip ci] 2017-12-12 18:01:11 +00:00
CI
85d5291f0f fnserver: 0.3.229 release [skip ci] 2017-12-11 18:59:51 +00:00
Reed Allman
2ebc9c7480 hybrid mergy (#581)
* so it begins

* add clarification to /dequeue, change response to list to future proof

* Specify that runner endpoints are also under /v1

* Add a flag to choose operation mode (node type).

This is specified using the `FN_NODE_TYPE` environment variable. The
default is the existing behaviour, where the server supports all
operations (full API plus asynchronous and synchronous runners).

The additional modes are:
* API - the full API is available, but no functions are executed by the
  node. Async calls are placed into a message queue, and synchronous
  calls are not supported (invoking them results in an API error).
* Runner - only the invocation/route API is present. Asynchronous and
  synchronous invocation requests are supported, but asynchronous
  requests are placed onto the message queue, so might be handled by
  another runner.

* Add agent type and checks on Submit

* Sketch of a factored out data access abstraction for api/runner agents

* Fix tests, adding node/agent types to constructors

* Add tests for full, API, and runner server modes.

* Added atomic UpdateCall to datastore

* adds in server side endpoints

* Made ServerNodeType public because tests use it

* Made ServerNodeType public because tests use it

* fix test build

* add hybrid runner client

pretty simple go api client that covers surface area needed for hybrid,
returning structs from models that the agent can use directly. not exactly
sure where to put this, so put it in `/clients/hybrid` but maybe we should
make `/api/runner/client` or something and shove it in there. want to get
integration tests set up and use the real endpoints next and then wrap this up
in the DataAccessLayer stuff.

* gracefully handles errors from fn
* handles backoff & retry on 500s
* will add to existing spans for debuggo action

* minor fixes

* meh
2017-12-11 10:43:19 -08:00
CI
eb39c22bf5 fnserver: 0.3.228 release [skip ci] 2017-12-07 14:13:52 +00:00
CI
834e61cd9f fnserver: 0.3.227 release [skip ci] 2017-12-07 00:27:41 +00:00
Tolga Ceylan
9481f811b7 fn: fail count should include timeouts (#577)
* fn: fail count should include timeouts
2017-12-06 16:11:59 -08:00
CI
af08abd532 fnserver: 0.3.226 release [skip ci] 2017-12-07 00:07:48 +00:00
CI
485e679736 fnserver: 0.3.225 release [skip ci] 2017-12-06 21:52:24 +00:00
CI
04d1183bd9 fnserver: 0.3.224 release [skip ci] 2017-12-06 19:02:37 +00:00
CI
937e78d6a3 fnserver: 0.3.223 release [skip ci] 2017-12-06 18:57:17 +00:00
CI
af8b8d87a0 fnserver: 0.3.222 release [skip ci] 2017-12-06 18:28:57 +00:00
Travis Reeder
6b8627d1c5 Fixes to recent extension changes. (#568)
* Fixes to recent extension changes.

* Fixes issue where gin will continue calling the handler even if next() isn't called.

* Updated docs.
2017-12-06 10:12:55 -08:00
CI
bcc91dcdfa fnserver: 0.3.221 release [skip ci] 2017-12-06 17:31:50 +00:00
jan grant
e05afebed1 Nitfix for #548 (#571) 2017-12-06 09:15:16 -08:00
CI
96dda67bd9 fnserver: 0.3.220 release [skip ci] 2017-12-06 11:34:16 +00:00
CI
1e3edd45f0 fnserver: 0.3.219 release [skip ci] 2017-12-06 00:22:20 +00:00
CI
f89367f526 fnserver: 0.3.218 release [skip ci] 2017-12-05 18:42:23 +00:00
Nigel Deakin
96f27070be More metrics (#561)
* Add new spans to agent.submit

* Add new spans to agent.submit

* Add new spans to agent.submit

* Add new spans to agent.submit
2017-12-05 10:26:28 -08:00
CI
5dc6f164de fnserver: 0.3.217 release [skip ci] 2017-12-05 18:14:04 +00:00
CI
c501d3232f fnserver: 0.3.216 release [skip ci] 2017-12-05 16:39:14 +00:00
Travis Reeder
0798f9fac8 Middleware upgrade (#554)
* Adds root level middleware

* Added todo

* Better way for extensions to be added.

* Bad conflict merge?
2017-12-05 08:22:03 -08:00
CI
8dd1244ef3 fnserver: 0.3.215 release [skip ci] 2017-12-02 01:13:30 +00:00
Tolga Ceylan
dd88ec5d4e fn: sigterm graceful shutdown handling (#557) 2017-12-01 16:56:17 -08:00
CI
d2556ae2c7 fnserver: 0.3.214 release [skip ci] 2017-12-01 19:37:18 +00:00
CI
02f39749e3 fnserver: 0.3.213 release [skip ci] 2017-12-01 19:30:25 +00:00
Tolga Ceylan
25f6706642 Container memory tracking related changes (#541)
* squash# This is a combination of 10 commits2

fn: get available memory related changes

*) getAvailableMemory() improvements
*) early fail if requested memory too large to meet
*) tracking async and sync pools individually. Sync pool
is reserved for sync jobs only, while async pool can be
used by all jobs.
*) head room estimation for available memory in Linux.
2017-12-01 11:21:16 -08:00
CI
ae8c0d27be fnserver: 0.3.212 release [skip ci] 2017-12-01 18:10:52 +00:00
CI
3f63e613eb fnserver: 0.3.211 release [skip ci] 2017-12-01 17:51:52 +00:00
CI
06313fb9b0 fnserver: 0.3.210 release [skip ci] 2017-12-01 16:11:42 +00:00
CI
dfead4b0c2 fnserver: 0.3.209 release [skip ci] 2017-11-30 02:06:39 +00:00
Denis Makogon
5c68a88599 Fn-prefix everything (#545)
* Fn-prefix everything

Closes: #492

* Global replacement

* missed one fn_
2017-11-29 17:50:24 -08:00
CI
9b531bb675 fnserver: 0.3.208 release [skip ci] 2017-11-29 12:20:39 +00:00
Nigel Deakin
9a75785cbf Per route api extensions (#542)
* Extend extension mechanism to support per-route API extensions

* Tidy up comment

* Remove print statement

* Minor improvement to README

* Avoid calling c.Request.Context() twice
2017-11-29 12:03:23 +00:00