Commit Graph

2543 Commits

Author SHA1 Message Date
jan grant
d85e6bd61b Ensure we have the latest fnproject/dind (#687)
If we need to reissue fnproject/dind:17.12 (which fnproject/fnserver
is based upon) then let's make sure we're using the latest one
when cutting a release.

To ensure we don't accidentally use stale images lying around in
the docker cache (there probably shouldn't be *any*), call
    make clear-images
before running the build.
2018-01-19 10:02:25 -08:00
CI
d2e18b28fc fnlb: 0.0.263 release [skip ci] fnlb-0.0.263 2018-01-19 03:47:18 +00:00
CI
1549534c3c fnserver: 0.3.302 release [skip ci] 0.3.302 2018-01-19 03:45:21 +00:00
Reed Allman
333d07c58d add config placement info to docs (#703)
this behavior was recently cemented but was entirely omitted from the doc on
'how to write functions'
2018-01-18 15:00:32 -08:00
Tolga Ceylan
2f0de2b574 fn: resource and slot cancel and broadcast improvements (#696)
* fn: resource and slot cancel and broadcast improvements

*) Context argument does not wake up the waiters correctly upon
cancellation/timeout.
*) Avoid unnecessary broadcasts in slot and resource.

* fn: limit scope of context in resource/slot calls in agent
2018-01-18 13:43:56 -08:00
Reed Allman
c9e995292c if a slot is available, don't launch more (#701)
since we were sending a signal before checking if a slot was available, even
in the case of serial calls locally I was seeing 2 containers launch. if we
only send a signal after first checking if a slot is available, this goes
away. 1 usec should not be too offensive of an additional wait, all things
considered here.
2018-01-18 13:19:25 -08:00
CI
6662ed9c2a fnlb: 0.0.262 release [skip ci] fnlb-0.0.262 2018-01-18 00:18:23 +00:00
CI
3e2debae07 fnserver: 0.3.301 release [skip ci] 0.3.301 2018-01-18 00:16:12 +00:00
Tolga Ceylan
5a7778a656 fn: cancellations in WaitAsyncResource (#694)
* fn: cancellations in WaitAsyncResource

Added go context with cancel to wait async resource. Although
today, the only case for cancellation is shutdown, this cleans
up agent shutdown a little bit.

* fn: locked broadcast to avoid missed wake-ups

* fn: removed ctx arg to WaitAsyncResource and startDequeuer

This is confusing and unnecessary.
2018-01-17 16:08:54 -08:00
CI
7c74c2fe88 fnlb: 0.0.261 release [skip ci] fnlb-0.0.261 2018-01-17 15:26:04 +00:00
CI
65592c9d26 fnserver: 0.3.300 release [skip ci] 0.3.300 2018-01-17 15:23:53 +00:00
Travis Reeder
3f0518bd85 date change 2018-01-17 07:16:22 -08:00
CI
6892d209ea fnlb: 0.0.260 release [skip ci] fnlb-0.0.260 2018-01-16 22:54:30 +00:00
CI
88072eba6e fnserver: 0.3.299 release [skip ci] 0.3.299 2018-01-16 22:52:35 +00:00
Travis Reeder
5a2602d42e Updated docs, cleaned things up, DRY's up function format stuff. (#688)
* Updated docs, cleaned things up, DRY's up function format stuff.

* deleted files

* updated bad link
2018-01-16 14:45:44 -08:00
CI
e3a573d11a fnlb: 0.0.259 release [skip ci] fnlb-0.0.259 2018-01-15 16:44:57 +00:00
CI
f0aeb815b6 fnserver: 0.3.298 release [skip ci] 0.3.298 2018-01-15 16:42:49 +00:00
jan grant
1eb35abc63 Fix for MTU problems in some k8s environments (#685)
* NOTE: the fnproject/dind release will need recutting and the
  top-level Dockerfile updated to refer to it for this to be
  complete.

In many k8s environments the host docker uses an overlay network
which'll take bytes away from the effective MTU of outer
containers; eg, vxlan needs 50 bytes, often leaving a 1450 MTU
on the container running dind and fn-api.

In such an arrangement, packets exceeding the smaller MTU may be
invisibly dropped as they travel across the dind's docker0
bridge. This mostly surfaces as a failure of functions to be able
to reliably talk to external services. (Note, the failure may be
intermittent depending on the profile of the resulting TCP
communication.)

A robust fix for this is to intercept the startup of the dind
dockerd and ensure that /etc/docker/daemon.json (currently
absent) contains the following setting:

{
  "mtu": 1450
}

(or whatever the MTU on the external interface may be). This
should be autosized so the container works in a variety of
deployments.

The problem does not arise when using an embedded
/var/run/docker.sock - or when running with dind on a host that
can supply 1500-byte MTUs to containers on the 'host' docker.
2018-01-15 08:35:32 -08:00
CI
7626725d0e fnlb: 0.0.258 release [skip ci] fnlb-0.0.258 2018-01-15 14:58:01 +00:00
CI
02768f6539 fnserver: 0.3.297 release [skip ci] 0.3.297 2018-01-15 14:56:00 +00:00
Nigel Deakin
8bf26efa29 Add new Prom metrics fn_timeout and fn_errors (#679)
* Add new Prom metric fn_timedout

* Add new Prometheus metric fn_errors

* Tidy up variable name

* Add new Prometheus metric fn_errors

* gofmt
2018-01-15 14:49:33 +00:00
CI
633b4c4ba1 fnlb: 0.0.257 release [skip ci] fnlb-0.0.257 2018-01-15 10:50:15 +00:00
CI
ea97bea22e fnserver: 0.3.296 release [skip ci] 0.3.296 2018-01-15 10:48:20 +00:00
Gerardo Viedma
966ce58525 Use new metrics API for s3 log metrics (#680)
* use new metrics API for histogram metrics

* Avoid creating an extra tracing span

* use new metrics api for histograms

* fix minor formatting issue
2018-01-15 10:09:03 +00:00
CI
e89fb179dc fnlb: 0.0.256 release [skip ci] fnlb-0.0.256 2018-01-12 22:58:52 +00:00
CI
9678ca4735 fnserver: 0.3.295 release [skip ci] 0.3.295 2018-01-12 22:56:37 +00:00
Tolga Ceylan
aa17e3b7e0 fn: cpus documentation (#682) 2018-01-12 14:49:03 -08:00
CI
534057c8f7 fnlb: 0.0.255 release [skip ci] fnlb-0.0.255 2018-01-12 22:05:08 +00:00
CI
23b267b208 fnserver: 0.3.294 release [skip ci] 0.3.294 2018-01-12 22:03:11 +00:00
Reed Allman
0bde666395 clean up agent.Submit (#681)
this was getting bloated with various contexts and spans and stats
administrivia that obfuscated what was going on a lot. this makes some helper
methods to shove most of that stuff into, and simplifies the context handling
around getting a slot by moving it inside of slot acquisition code. also
removed most uses of `call.Model()` -- I'll kill this thing some day, but if a
reason is needed, then the overhead of dynamic dispatch is unnecessary, we're
inside of the implementee for the agent, we don't want to use the interface
methods inside of that.
2018-01-12 13:56:17 -08:00
CI
c4d59dc0fe fnlb: 0.0.254 release [skip ci] fnlb-0.0.254 2018-01-12 19:47:42 +00:00
CI
342460f242 fnserver: 0.3.293 release [skip ci] 0.3.293 2018-01-12 19:45:33 +00:00
Tolga Ceylan
39b2cb2d9b Cpu resources (#642)
* fn: cpu quota implementation
2018-01-12 11:38:28 -08:00
CI
fa59400a97 fnlb: 0.0.253 release [skip ci] fnlb-0.0.253 2018-01-12 00:09:39 +00:00
CI
5d500124e0 fnserver: 0.3.292 release [skip ci] 0.3.292 2018-01-12 00:07:38 +00:00
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