Commit Graph

1715 Commits

Author SHA1 Message Date
Richard Connon
8d8c7df569 Log failure to close fsnotify handle (#1250) 2018-09-28 12:06:43 +01:00
CI
f9e4f93ad6 fnserver: 0.3.584 release [skip ci] 2018-09-28 01:28:40 +00:00
Owen Cliffe
53d4be00ca Add checks for unix socket destination to avoid FDK tricking agent into talking to non-relative dirs (#1247)
* Add checks for unix socket destination to avoid leaking access to host OS

* style, typos
2018-09-27 18:20:03 -07:00
CI
d011f58163 fnserver: 0.3.583 release [skip ci] 2018-09-27 22:46:16 +00:00
Reed Allman
319e0af41c we shouldn't log tokens, this shouldn't have been info either and was noisy (#1249)
* we shouldn't log tokens, this shouldn't have been info either and was noisy

* simplify logic too
2018-09-27 23:37:35 +01:00
CI
651b49e1bc fnserver: 0.3.582 release [skip ci] 2018-09-26 23:13:26 +00:00
Matt Stephenson
4d30b9de09 Add support for json formatted logs (#1245) 2018-09-26 16:04:55 -07:00
CI
3920e15769 fnserver: 0.3.581 release [skip ci] 2018-09-26 19:25:42 +00:00
Tolga Ceylan
34f2133518 fn: api metrics custom path filter function (#1243)
Adding a simple global path filter function to api views. This can
be set to a custom function to group path/url in API view tags.
2018-09-26 12:17:27 -07:00
Reed Allman
911c7d993e help people figure out why their syslog url is wrong more better (#1242)
closes #1240
2018-09-26 11:56:14 -07:00
CI
1855ebf2ce fnserver: 0.3.580 release [skip ci] 2018-09-26 13:09:50 +00:00
Reed Allman
01b8e8679d HTTP trigger http-stream tests (#1241) 2018-09-26 13:25:48 +01:00
CI
5d907821b1 fnserver: 0.3.579 release [skip ci] 2018-09-24 18:27:55 +00:00
Tom Coupland
d454ff9aa4 Initial Refactor (#1234)
* Inital Refactor

Removing the repeated logic exposed some problems with the reponse
writers.

Currently, the trigger writer was overlaid on part of the header
writing. The main invoke blog writing into the different levels of the
overlays at different points in the logic.

Instead, by extending the types and embedded structs, the writer is
more transparent. So, at the end of the flow it goes over all the
headers available and removes our prefixes. This lets the invoke logic
just write to the top level.

Going to continue after lunch to try and remove some of the layers and
param passing.

* Try and repeat concurrency failure

* Nested FromHTTPFnRequest inside FromHTTPTriggerRequest

* Consolidate buffer pooling logic

* go fmt yourself

* fix import
2018-09-24 12:20:30 +01:00
CI
430314710d fnserver: 0.3.578 release [skip ci] 2018-09-22 01:37:11 +00:00
Tolga Ceylan
dc6516b8e2 fn: added http 429 in models Errors (#1236) 2018-09-21 18:28:18 -07:00
CI
f166ec0ed1 fnserver: 0.3.577 release [skip ci] 2018-09-21 20:01:20 +00:00
CI
65f5329415 fnserver: 0.3.576 release [skip ci] 2018-09-20 21:21:50 +00:00
Tolga Ceylan
a994b57d9a fn: freezer/evictor adjustments (#1233)
*) removed faulty Idle state setter in runHot() since with
UDS wait, we need to wait until we can determine if a container
is idle. This is now moved to runHotReq().
*) evictor now more aggresive and no longer tied to pause
timer/configuration.
*) removed unnecessary optimization on timer=0 case for immediate
pause.
2018-09-20 14:13:11 -07:00
CI
0ed1fe8a11 fnserver: 0.3.575 release [skip ci] 2018-09-20 21:06:11 +00:00
Vijay Krishnan
b2f85b70ea Use registry auth token from Call extensions to pull images (#1228) 2018-09-20 13:57:41 -07:00
CI
31b09c2601 fnserver: 0.3.574 release [skip ci] 2018-09-20 18:39:00 +00:00
Owen Cliffe
d9b74cfd14 Gateway trigger support (#1225)
* initial gateway trigger support

* Pass Content-Type down to wrapped writer

* Move req header setting

* Adding call id to responses

* add dupe Fn-Call-Id headers
2018-09-20 11:30:28 -07:00
CI
a381d0daf9 fnserver: 0.3.573 release [skip ci] 2018-09-20 18:00:58 +00:00
Reed Allman
87e2562db9 Http stream invoke tests (#1231)
* adds parity level of testing http-stream invoke

the other formats had a gamut of tests, now http-stream does too. this makes
obvious some of its behaviors. some things changed / can change now that we
don't have pipes to worry about, the main one being that when containers blow
up now the uds client will get an EOF/ECONNREFUSED instead of the pipe getting
wedged up (allowing us to get the container error easily, previously). I made
my best 50% effort to make a reasonable error for when this happens (similar
to when http/json received garbage errors), open to ideas on verbiage / policy
there.

should be pretty straightforward. one thing to notice is that
http/json/default don't return our fancy new Fn-Http-Status or Fn-Http-H
headers... it's relatively easy to go add this to fdk-go just to test this,
but for invoke I'm really not sure we care (?) and for the gateway, the output
will be identical with the old formats bypassing the header decap. if anybody
has any feelings, feel free to express them.

* fix oomer up for new error

* Adding http header stripping to agent

Adding the header stripping into the agent, this should be low enough
that all routes to fns get treated the same.
2018-09-20 18:52:20 +01:00
CI
38a586d7b2 fnserver: 0.3.572 release [skip ci] 2018-09-20 15:32:25 +00:00
CI
81357fb0f6 fnserver: 0.3.571 release [skip ci] 2018-09-20 10:59:49 +00:00
Tom Coupland
4aeba35d17 Unwrap log response (#1232)
Currently, the log response is not compatible with the swagger
document.

This change removes the log wrapper that the old version required.
2018-09-20 11:51:26 +01:00
CI
56b426ed42 fnserver: 0.3.570 release [skip ci] 2018-09-19 18:43:17 +00:00
CI
a9e43065ce fnserver: 0.3.569 release [skip ci] 2018-09-19 15:57:19 +00:00
Reed Allman
485fa465a0 Stream test commence (#1224)
* initial invoke testing

this assures that Content-Type and Fn-Http-Status are set for an http-stream
function. it took some fixing up of the test utils code for the plumbing to
work, looking forward to deleting most stuff in fn-test-utils.go file around
each format -- had to update fdk-go to latest for http-stream support. this
only adds 1 test, since there's some machinery here, and would like to unblock
working on the http gateway simultaneously while adding a full suite of invoke
tests (this work can be parallelized)...

i added debug logs back to the debugging output. turns out this is useful, but
it can get noisy (only when things fail, hopefully).

* fix oom tests?
2018-09-19 08:48:48 -07:00
CI
111f2d4a1c fnserver: 0.3.568 release [skip ci] 2018-09-18 22:29:08 +00:00
Tolga Ceylan
a9bba2c3a8 fn: remove eviction timer to simplify eviction logic (#1223)
We tie container pausing with evictions, where if a container
is paused, then it is also eligible for eviction.
2018-09-18 15:20:39 -07:00
CI
b043e619d3 fnserver: 0.3.567 release [skip ci] 2018-09-18 15:21:28 +00:00
Reed Allman
3a82790d99 clean up hardcoded lsnr.sock refs, move iofs to /tmp (#1221)
* clean up hardcoded lsnr.sock refs

because what drivers.ContainerTask needs is another method, and we all know it

atoning for my sins the first time around. and yes, i refuse to use a cross
package exported constant (just think of the dep graphs)

* fix tests
2018-09-18 08:12:44 -07:00
CI
539d80cab2 fnserver: 0.3.566 release [skip ci] 2018-09-18 01:06:53 +00:00
Tolga Ceylan
893ff1e6fc fn: add missing dequeue in agent Submit (#1220) 2018-09-17 17:58:12 -07:00
CI
2168396a30 fnserver: 0.3.565 release [skip ci] 2018-09-17 18:59:05 +00:00
Richard Connon
493790dbd2 Add tmpfs IOFS (#1212)
* Define an interface for IOFS handling. Add no-op and temporary directory implementations.

* Move IOFS stuff out into separate file, add basic tmpfs implementation for linux only

* Switch between directory and tmpfs based on platform and config

* Respect FN_IOFS_OPTS

* Make directory iofs default on all platforms

* At least try to clean up a bit on failure

* Add backout if IOFS creation fails

* Add comment about iofs.Close
2018-09-17 11:50:43 -07:00
CI
822fa71fd2 fnserver: 0.3.564 release [skip ci] 2018-09-17 17:39:44 +00:00
Tolga Ceylan
b0c93dbd82 fn: new agent resource tracker metrics (#1215)
New metrics for agent resource tracker: CpuUsed, CpuAvail,
MemUsed, MemAvail.
2018-09-17 10:31:17 -07:00
CI
dd727dfd12 fnserver: 0.3.563 release [skip ci] 2018-09-17 16:46:56 +00:00
Owen Cliffe
27a38bd8a6 [bump minor] Fix call migration (#1217) 2018-09-17 17:37:48 +01:00
Tom Coupland
d56a49b321 Remove V1 endpoints and Routes (#1210)
Largely a removal job, however many tests, particularly system level
ones relied on Routes. These have been migrated to use Fns.

* Add 410 response to swagger
* No app names in log tags
* Adding constraint in GetCall for FnID
* Adding test to check FnID is required on call
* Add fn_id to call selector
* Fix text in docker mem warning
* Correct buildConfig func name
* Test fix up
* Removing CPU setting from Agent test

CPU setting has been deprecated, but the code base is still riddled
with it. This just removes it from this layer. Really we need to
remove it from Call.

* Remove fn id check on calls
* Reintroduce fn id required on call
* Adding fnID to calls for execute test
* Correct setting of app id in middleware
* Removes root middlewares ability to redirect fun invocations
* Add over sized test check
* Removing call fn id check
2018-09-17 16:44:51 +01:00
CI
6a01dae923 fnserver: 0.3.562 release [skip ci] 2018-09-17 11:08:19 +00:00
Owen Cliffe
6567f6e8ef support configuration-based relative dirs (host and agent) for iofs (#1213)
* support configuration-based relative dirs (host and agent) for iofs mounts
* Send UDS requests as POST to <UDS>/call
2018-09-17 11:59:16 +01:00
CI
a0ef26bdb7 fnserver: 0.3.561 release [skip ci] 2018-09-14 23:59:15 +00:00
Tolga Ceylan
aa13a40168 fn: agent/lb/runner error handling adjustments (#1214)
1) Early call validation and return due to cpu/mem impossible
to meet (eg. request cpu/mem larger than max-mem or max-cpu
on server) now emits HTTP Bad Request (400) instead of 503.
This case is most likely due to client/service configuration
and/or validation issue.
2) 'failed' metric is now removed. 'failed' versus 'errors'
were too confusing. 'errors' is now a catch all error case.
3) new 'canceled' counter for client side cancels.
4) 'server_busy' now covers more cases than it previously did.
2018-09-14 16:50:14 -07:00
CI
75bd0d3414 fnserver: 0.3.560 release [skip ci] 2018-09-14 16:04:04 +00:00
Reed Allman
2b797a556a update docs with pro tips for fdk http stream people (#1211)
* update docs with pro tips for fdk http stream people

* fix bug where container could die before uds wait

we used to hang out for an hour. oopsie, thanks Owen
2018-09-14 16:54:18 +01:00