Commit Graph

2780 Commits

Author SHA1 Message Date
Tolga Ceylan
8f969918bd fn: removing unused/dead code (#1051) 2018-06-08 15:51:19 -07:00
CI
8155779f96 fnserver: 0.3.469 release [skip ci] 0.3.469 2018-06-08 10:54:01 +00:00
Owen Cliffe
456cbed8bd Update CLI docs to reflect new CLI verb/noun structure (#1031)
Use new CLI syntax
2018-06-08 11:47:04 +01:00
CI
1a3b72a05b fnserver: 0.3.468 release [skip ci] 0.3.468 2018-06-08 10:13:29 +00:00
Richard Connon
30bbb1f1be Add vboxnet0 to the list of interface names that shouldn't be used for testing (#1053) 2018-06-08 11:06:15 +01:00
CI
f847402f67 fnserver: 0.3.467 release [skip ci] 0.3.467 2018-06-08 07:40:25 +00:00
Tolga Ceylan
bf0f062a78 fn: test errors should be fatal (#1050) 2018-06-08 00:32:44 -07:00
CI
dc49b55673 fnserver: 0.3.466 release [skip ci] 0.3.466 2018-06-07 11:07:44 +00:00
Richard Connon
80569c8f21 ID should be primary key on apps model and name should be unique. This allows for renaming apps in the future. (#1048) 2018-06-07 12:00:16 +01:00
CI
242f1571f3 fnserver: 0.3.465 release [skip ci] 0.3.465 2018-06-06 21:57:27 +00:00
Tolga Ceylan
4fcb52f69d fn: MaxTotalCPU and MaxTotalMemory in non-Linux systems (#1043)
Non-Linux systems skip some of memory/cpu determination
code in resource tracker. But config settings to cap
these are used in tests, so they must not be ignored.

With this change, we apply these config settings even
on non-Linux systems.

Memory allocation code is also now same in non-Linux
systems, but default is raised to 2GB from 1.5GB.
2018-06-06 14:50:21 -07:00
CI
6ea13d0f6d fnserver: 0.3.464 release [skip ci] 0.3.464 2018-06-06 14:22:23 +00:00
Owen Cliffe
c6abc8bf64 Use context logging more to ensure context vars are present in log lines (#1039) 2018-06-06 15:14:29 +01:00
CI
19bc5cf852 fnserver: 0.3.463 release [skip ci] 0.3.463 2018-06-05 21:48:33 +00:00
Tolga Ceylan
4af53025d8 fn: lb-agent: Initial TryCall result can be retriable. (#1035)
Before this change, we assumed data may end up in a container
once we placed a TryCall() and if gRPC send failed, we did not
retry. However, a send failure cannot result in data in a
container, since only upon successful receipt of a TryCall can
pure-runner schedule a call into a container. Here we trust
gRPC and if gRPC layer says it could not send a msg, then
the receiver did not receive it.
2018-06-05 14:41:13 -07:00
CI
64431b4497 fnserver: 0.3.462 release [skip ci] 0.3.462 2018-06-05 21:31:15 +00:00
Andrea Rosa
c2c295ffb3 Add a LBAgent constructor which accept AgentConfig (#1037)
In some cases could be useful to pass Agent configurations to the
LnAgent constuctor, this small change adds a new constructor which
accepts an agent configuration as additional parameter.
2018-06-05 13:59:43 -07:00
Tolga Ceylan
1cd5894f41 fn: LB agent: reduce 'Too Busy' error logs (#1033)
With this PR, runner client translates too busy errors
from gRPC session and runner itself into Fn error type.
Placers now ignore this error message to reduce unnecessary
logging.
2018-06-04 12:16:00 -07:00
Tolga Ceylan
7261ddedcc fn: LB agent: EOF from runner is normal in nack cases (#1032) 2018-06-04 12:10:00 -07:00
Reed Allman
00c29b8bf3 datastore no longer implements logstore (#1013)
* datastore no longer implements logstore

the underlying implementation of our sql store implements both the datastore
and the logstore interface, however going forward we are likely to encounter
datastore implementers that would mock out the logstore interface and not use
its methods - signalling a poor interface. this remedies that, now they are 2
completely separate things, which our sqlstore happens to implement both of.

related to some recent changes around wrapping, this keeps the imposed metrics
and validation wrapping of a servers logstore and datastore, just moving it
into New instead of in the opts - this is so that a user can have the
underlying datastore in order to set the logstore to it, since wrapping it in
a validator/metrics would render it no longer a logstore implementer (i.e.
validate datastore doesn't implement the logstore interface), we need to do
this after setting the logstore to the datastore if one wasn't provided
explicitly.

* splits logstore and datastore metrics & validation logic
* `make test` should be `make full-test` always. got rid of that so that
nobody else has to wait for CI to blow up on them after the tests pass locally
ever again.

* fix new tests
2018-06-04 00:08:16 -07:00
Tomas Knappek
e0425abd19 unmatched api handler reported as 'invalid' (#1028) 2018-06-01 13:49:40 -07:00
Tolga Ceylan
a57907eed0 fn: user friendly timeout handling changes (#1021)
* fn: user friendly timeout handling changes

Timeout setting in routes now means "maximum amount
of time a function can run in a container".

Total wait time for a given http request is now expected
to be handled by the client. As long as the client waits,
the LB, runner or agents will search for resources to
schedule it.
2018-06-01 13:18:13 -07:00
CI
ffefcf5773 fnserver: 0.3.461 release [skip ci] 2018-06-01 10:49:07 -07:00
Tolga Ceylan
f97b63f878 fn: fixup temp dir read/write permissions if tmp fs size is not set. (#1024)
When TmpFsSize is not set in a route, docker fails to create a /tmp
mount that is writable. Forcing docker to explicitly to this if
read-only root directory is enabled (default).
2018-06-01 10:49:07 -07:00
CI
316940285d fnserver: 0.3.460 release [skip ci] 0.3.460 2018-05-31 20:11:30 +00:00
Tolga Ceylan
e1b7e30e49 fn: cleanup of unused/global constants in lb agent (#1020)
Moved retry interval as placer member variable for time-being.
2018-05-31 13:04:06 -07:00
CI
a282005bf7 fnserver: 0.3.459 release [skip ci] 0.3.459 2018-05-31 01:24:47 +00:00
Tolga Ceylan
d190167580 fn: read-only root fs becomes default (#1019)
* fn: read-only root fs becomes default

Set root fs as read-only by default.

* fn: update doc for FN_DISABLE_READONLY_ROOTFS
2018-05-30 18:17:28 -07:00
CI
f4712b4f5b fnserver: 0.3.458 release [skip ci] 0.3.458 2018-05-29 23:33:43 +00:00
Tolga Ceylan
7f1d14d21f fn: slot hash id must be utf8 in gRPC (#1016) 2018-05-29 16:26:43 -07:00
CI
47c6fb54af fnserver: 0.3.457 release [skip ci] 0.3.457 2018-05-25 21:20:22 +00:00
Tolga Ceylan
74a5379dec fn: lb & pure-runner slot hash id communication (#1007)
* fn: lb & pure-runner slot hash id communication

With this change, LB can pre-calculate the slot hash
key and pass it to runners. If LB knows/calculates
the slot hash ids, then it can also make better
estimates on which runner can successfully execute
it especially when status messages from runner
include a small summary of idle slots for a given
slot hash id. (TODO)

* fn: fix mock test
2018-05-25 14:12:48 -07:00
Tolga Ceylan
9584643142 fn: size restricted tmpfs /tmp and read-only / support (#1012)
* fn: size restricted tmpfs /tmp and read-only / support

*) read-only Root Fs Support
*) removed CPUShares from docker API. This was unused.
*) docker.Prepare() refactoring
*) added docker.configureTmpFs() for size limited tmpfs on /tmp
*) tmpfs size support in routes and resource tracker
*) fix fn-test-utils to handle sparse files better in create file

* test typo fix
2018-05-25 14:12:29 -07:00
CI
71dbf9fa57 fnserver: 0.3.456 release [skip ci] 0.3.456 2018-05-25 15:39:27 +00:00
Tomas Knappek
e3e264de53 Api metrics (#1014)
* api metrics support

* comments reflected

* metrics middleware fix
2018-05-25 08:31:37 -07:00
CI
05caef0d26 fnserver: 0.3.455 release [skip ci] 0.3.455 2018-05-21 17:50:03 +00:00
Tomas Knappek
8aae1502f0 Admin server for paths which are not part of API (#1011)
* admin server added

* test fixed, ping moved out of admin server

* keeping admin/web port in sync
2018-05-21 10:41:27 -07:00
CI
4623bf6a59 fnserver: 0.3.454 release [skip ci] 0.3.454 2018-05-21 10:35:43 +00:00
Gerardo Viedma
ea1f94253f Implement graceful shutdown of agent.DataAccess (#1008)
* Implements graceful shutdown of agent.DataAccess and underlying Datastore/Logstore/MessageQueue

* adds tests for closing agent.DataAccess and Datastore
2018-05-21 11:28:21 +01:00
CI
105d9b8f1d fnserver: 0.3.453 release [skip ci] 0.3.453 2018-05-19 00:07:07 +00:00
Tolga Ceylan
24ada10342 fn: in api tests move singleton server into TestMain (#1010) 2018-05-18 16:58:45 -07:00
CI
60a642092e fnserver: 0.3.452 release [skip ci] 0.3.452 2018-05-18 21:48:39 +00:00
Tolga Ceylan
e9c465c781 fn: shutdown improvements (#1009)
*) singleton style teardown for api tests
*) cancel content for system tests
2018-05-18 14:40:15 -07:00
CI
3198a14410 fnserver: 0.3.451 release [skip ci] 0.3.451 2018-05-17 23:30:35 +00:00
Owen Cliffe
f0b9cfcc62 remove test binary (#1000) 2018-05-17 16:21:39 -07:00
CI
8518bea0e7 fnserver: 0.3.450 release [skip ci] 0.3.450 2018-05-17 22:20:02 +00:00
Tolga Ceylan
77086ecc24 fn: lb-agent & runner gRPC updates (#1005)
Breaking changes:

*) Removed unused ACK/NACK definitions
*) Extended Finished messages with error code/str
2018-05-17 15:02:15 -07:00
Tolga Ceylan
7cf8e2a61d fn: pure-runner time out while waiting TryCall (#1006)
This should return a retriable error code 503.
2018-05-17 15:00:50 -07:00
CI
8c2c6286dc fnserver: 0.3.449 release [skip ci] 0.3.449 2018-05-17 20:30:29 +00:00
Tomas Knappek
ccde0d2357 Wrap custom datastore with metrics and validator (#1002)
* Wrap method added to datastore

* datastore formatting fixed
2018-05-17 13:21:36 -07:00