Commit Graph

2358 Commits

Author SHA1 Message Date
Tolga Ceylan
1c8029e4f1 fn: more tests for hot container launch logic (#678) 2018-01-11 16:00:37 -08:00
CI
7c46eca476 fnlb: 0.0.252 release [skip ci] fnlb-0.0.252 2018-01-11 22:18:20 +00:00
CI
7693c6f9d1 fnserver: 0.3.291 release [skip ci] 0.3.291 2018-01-11 22:16:17 +00:00
Tolga Ceylan
db159e595f fn: new container lauch adjustments (#677)
*) revert executor wait queue size comparison. This is too
   aggresive and with stall check below, now unnecessary.
*) new container logic now checks if stats are constant, if
   this is the case, then we assume the system is stalled (eg
   running functions that take long time), this means we need
   to make progress and spin up a new container.
2018-01-11 14:09:21 -08:00
CI
91d282eb4e fnlb: 0.0.251 release [skip ci] fnlb-0.0.251 2018-01-11 19:23:11 +00:00
CI
25e8ce34b7 fnserver: 0.3.290 release [skip ci] 0.3.290 2018-01-11 19:20:58 +00:00
Reed Allman
61f179b9f2 license printing script works again (#676) 2018-01-11 11:12:43 -08:00
CI
26bc3a84de fnlb: 0.0.250 release [skip ci] fnlb-0.0.250 2018-01-11 17:43:36 +00:00
CI
6c2cfa155a fnserver: 0.3.289 release [skip ci] 0.3.289 2018-01-11 17:41:33 +00:00
Nigel Deakin
ac2bfd3462 Change basic stats to use opentracing rather than Prometheus API (#671)
* Change basic stats to use opentracing rather than Prometheus API directly

* Just ran gofmt

* Extract opentracing access for metrics to common/metrics.go

* Replace quotes strings with constants where possible
2018-01-11 17:34:51 +00:00
CI
ba0aa3b1a9 fnlb: 0.0.249 release [skip ci] fnlb-0.0.249 2018-01-11 01:04:46 +00:00
CI
9b6cdd8009 fnserver: 0.3.288 release [skip ci] 0.3.288 2018-01-11 01:02:43 +00:00
Michael J Williams
cfc408ccad Add nav to Readme.md. Fix typos (#653)
* Add nav to Readme.md. Fix typos

* Updates to made nav cleaner

* A quick grammar fix I missed
2018-01-10 16:56:14 -08:00
CI
f33d85430f fnlb: 0.0.248 release [skip ci] fnlb-0.0.248 2018-01-10 22:23:01 +00:00
CI
b19e147c2f fnserver: 0.3.287 release [skip ci] 0.3.287 2018-01-10 22:21:02 +00:00
Tolga Ceylan
7c91b98a72 fn: hot container launcher adjustment (#673)
Latency stats are not always read-time updated and
if calls are stuck in waiting state, isNewContainerNeeded()
needs to be a bit more aggresive if the wait queue grows.
2018-01-10 14:14:19 -08:00
CI
5608f05290 fnlb: 0.0.247 release [skip ci] fnlb-0.0.247 2018-01-10 21:24:03 +00:00
CI
797e4c65c0 fnserver: 0.3.286 release [skip ci] 0.3.286 2018-01-10 21:22:00 +00:00
Tolga Ceylan
23ae1fe723 fn: removed dead code (#672) 2018-01-10 12:32:19 -08:00
CI
a534e57f31 fnlb: 0.0.246 release [skip ci] fnlb-0.0.246 2018-01-10 17:53:27 +00:00
CI
fe31401335 fnserver: 0.3.285 release [skip ci] 0.3.285 2018-01-10 17:51:20 +00:00
Gerardo Viedma
60d2e92c9a Replace minio-go with aws-sdk-go for s3-compatible log backend (#670)
* Logs should support specifying region when using S3-compatible object store

* Use aws-sdk-go client for s3 backed logstore

* fixes vendor with aws-sdk-go dependencies
2018-01-10 09:44:04 -08:00
CI
930d1e8dcc fnlb: 0.0.245 release [skip ci] fnlb-0.0.245 2018-01-10 17:32:05 +00:00
CI
d02d59b979 fnserver: 0.3.284 release [skip ci] 0.3.284 2018-01-10 17:29:52 +00:00
Nigel Deakin
d1e02f42ed Update writing.md (#668)
Trying to make this a bit clearer
2018-01-10 09:21:55 -08:00
CI
b62b39d93f fnlb: 0.0.244 release [skip ci] fnlb-0.0.244 2018-01-09 23:42:11 +00:00
CI
e442c7f3e4 fnserver: 0.3.283 release [skip ci] 0.3.283 2018-01-09 23:40:11 +00:00
Travis Reeder
eef1025e93 Better versioning for dind image. (#666)
* Better versioning for dind image.

* Updated dind image used in main build
2018-01-09 15:33:26 -08:00
CI
7a9ead098f fnlb: 0.0.243 release [skip ci] fnlb-0.0.243 2018-01-09 22:36:14 +00:00
CI
9eb5212d0d fnserver: 0.3.282 release [skip ci] 0.3.282 2018-01-09 22:34:23 +00:00
Reed Allman
24aa911609 add FN_LOG_DEST for logs, fixup init (#663)
* add FN_LOG_DEST for logs, fixup init

* FN_LOG_DEST can point to a remote logging place (papertrail, whatever)
* FN_LOG_PREFIX can add a prefix onto each log line sent to FN_LOG_DEST

default remains stderr with no prefix. users need this to send to various
logging backends, though it could be done operationally, this is somewhat
simpler.

we were doing some configuration stuff inside of init() for some of the global
things. even though they're global, it's nice to keep them all in the normal
server init path.

we have had strange issues with the tracing setup, I tested the last repro of
this repeatedly and didn't have any luck reproducing it, though maybe it comes
back.

* add docs
2018-01-09 14:27:50 -08:00
CI
5fe2fa1aee fnlb: 0.0.242 release [skip ci] fnlb-0.0.242 2018-01-09 22:19:27 +00:00
CI
874f826288 fnserver: 0.3.281 release [skip ci] 0.3.281 2018-01-09 22:17:29 +00:00
Travis Reeder
3b9818bc58 Switch to dep from glide (#664) 2018-01-09 14:11:08 -08:00
CI
0a09d74137 fnlb: 0.0.241 release [skip ci] fnlb-0.0.241 2018-01-09 21:35:48 +00:00
CI
97bdc5da4b fnserver: 0.3.280 release [skip ci] 0.3.280 2018-01-09 21:33:52 +00:00
Travis Reeder
82541d24ee wip (#665) 2018-01-09 13:27:38 -08:00
CI
4fa781563c fnlb: 0.0.240 release [skip ci] fnlb-0.0.240 2018-01-09 18:38:04 +00:00
CI
360abceff5 fnserver: 0.3.279 release [skip ci] 0.3.279 2018-01-09 18:36:09 +00:00
Ben Meier
aac8ac3027 Added private registries documentation (#654) 2018-01-09 10:29:47 -08:00
CI
0a3bad0e94 fnlb: 0.0.239 release [skip ci] fnlb-0.0.239 2018-01-09 18:16:49 +00:00
CI
0fb40f6abf fnserver: 0.3.278 release [skip ci] 0.3.278 2018-01-09 18:14:47 +00:00
Reed Allman
20089c4e83 make headers quasi-consistent (#660)
possible breakages:

* `FN_HEADER` on cold are no longer `s/-/_/` -- this is so that cold functions
can rebuild the headers as they were when they came in on the request (fdks,
specifically), there's no guarantee that a reversal `s/_/-/` is the original
header on the request.
* app and route config no longer `s/-/_/` -- it seemed really weird to rewrite
the users config vars on these. should just pass them exactly as is to env.
* headers no longer contain the environment vars (previously, base config; app
config, route config, `FN_PATH`, etc.), these are still available in the
environment.

this gets rid of a lot of the code around headers, specifically the stuff that
shoved everything into headers when constructing a call to begin with. now we
just store the headers separately and add a few things, like FN_CALL_ID to
them, and build a separate 'config' now to store on the call. I thought
'config' was more aptly named, 'env' was confusing, though now 'config' is
exactly what 'base_vars' was, which is only the things being put into the env.
we weren't storing this field in the db, this doesn't break unless there are
messages in a queue from another version, anyway, don't think we're there and
don't expect any breakage for anybody with field name changes.

this makes the configuration stuff pretty straight forward, there's just two
separate buckets of things, and cold just needs to mash them together into the
env, and otherwise hot containers just need to put 'config' in the env, and then
hot format can shove 'headers' in however they'd like. this seems better than
my last idea about making this easier but worse (RIP).

this means:

* headers no longer contain all vars, the set of base vars can only be found
in the environment.
* headers is only the headers from request + call_id, deadline, method, url
* for cold, we simply add the headers to the environment, prepending
`FN_HEADER_` to them, BUT NOT upper casing or `s/-/_/`
* fixes issue where async hot functions would end up with `Fn_header_`
prefixed headers
* removes idea of 'base' vars and 'env'. this was a strange concept. now we just have
'config' which was base vars, and headers, which was base_env+headers; i.e.
they are disjoint now.
* casing for all headers will lean to be `My-Header` style, which should help
with consistency. notable exceptions for cold only are FN_CALL_ID, FN_METHOD,
and FN_REQUEST_URL -- this is simply to avoid breakage, in either hot format
they appear as `Fn_call_id` still.
* removes FN_PARAM stuff
* updated doc with behavior

weird things left:

`Fn_call_id` e.g. isn't a correctly formatted http header, it should likely be
`Fn-Call-Id` but I wanted to live to fight another day on this one, it would
add some breakage.

examples to be posted of each format below

closes #329
2018-01-09 10:08:30 -08:00
CI
9c2a2a7fe7 fnlb: 0.0.238 release [skip ci] fnlb-0.0.238 2018-01-09 16:51:56 +00:00
CI
b1bae08f7d fnserver: 0.3.277 release [skip ci] 0.3.277 2018-01-09 16:49:49 +00:00
Travis Reeder
580dd3e5cb Removes FN_PARAM_xxx (#661) 2018-01-09 16:42:25 +00:00
CI
66cdd2aca5 fnlb: 0.0.237 release [skip ci] fnlb-0.0.237 2018-01-08 23:05:16 +00:00
CI
e2c8eef3c2 fnserver: 0.3.276 release [skip ci] 0.3.276 2018-01-08 23:03:13 +00:00
Tolga Ceylan
0274b5cb65 fn: input doc update for hot http/json functions (#659) 2018-01-08 14:56:05 -08:00
CI
acfa02a249 fnlb: 0.0.236 release [skip ci] fnlb-0.0.236 2018-01-08 20:43:07 +00:00