Commit Graph

1667 Commits

Author SHA1 Message Date
CI
24f41c29b2 fnserver: 0.3.534 release [skip ci] 2018-08-16 08:54:01 +00:00
Tom Coupland
b1938c1cbf Fns now annotated with invoke urls, as per triggers (#1172)
Clone of the trigger work to inject invoke urls into the annotations
on a fn when it is returned from the server.

Small changes to trigges code following code review of the fn code.
2018-08-16 09:44:48 +01:00
CI
d5f06bc5b1 fnserver: 0.3.533 release [skip ci] 2018-08-14 00:16:05 +00:00
CI
6c053b053d fnserver: 0.3.532 release [skip ci] 2018-08-13 09:11:07 +00:00
Tom Coupland
79a7308a17 Adding Fn invoke endpoint that works just like triggers endpoint (#1168) 2018-08-13 10:01:52 +01:00
CI
501b0776bb fnserver: 0.3.531 release [skip ci] 2018-08-12 00:09:37 +00:00
Tolga Ceylan
976b91a77d fn: API stats and tags reoorganization (#1171)
Make sure we can apply extra tags if RegisterAPIViews() is
provided with such tags. Deduplicate path/method/status and
always apply these default tags to appropriate views.
2018-08-11 17:00:37 -07:00
CI
ba98ed6992 fnserver: 0.3.530 release [skip ci] 2018-08-10 19:22:45 +00:00
Tolga Ceylan
8c271e8556 fn: add missing api response count in API metrics (#1170) 2018-08-10 12:14:04 -07:00
CI
75a87725a6 fnserver: 0.3.529 release [skip ci] 2018-08-09 19:14:53 +00:00
Peter Jausovec
35408ac949 Change the syslog format to use app_name instead of app_id (#1166)
* Add AppName to the models.Call, so we can include it in the syslog

* Replace the app_id with app_name
2018-08-09 12:06:19 -07:00
CI
4d0f6a9244 fnserver: 0.3.528 release [skip ci] 2018-08-07 04:05:27 +00:00
Tolga Ceylan
f57571fb3a fn: SSL config adjustments (#1160)
SSL related FN_NODE_CERT (and related) settings are
not very clear today. Removing this in favor of a
simple map of tls.Config objects. Three keys are
provided for this map:

TLSGRPCServer
TLSAdminServer
TLSWebServer

which correspond to server TLS settings for the
associated services.

Operators/implementers can further add more
keys to the map and add their own TLS config.
2018-08-06 20:57:03 -07:00
CI
ff39d0896f fnserver: 0.3.527 release [skip ci] 2018-08-06 17:57:25 +00:00
Tolga Ceylan
b6aeae3680 fn: moving opencensus distribution buckets out of agent (#1158)
Users can best pick the proper range for their operating
environment. Default cmd/fnserver uses some sensible
defaults.
2018-08-06 10:48:52 -07:00
CI
039fb88876 fnserver: 0.3.526 release [skip ci] 2018-08-04 00:33:36 +00:00
Tolga Ceylan
b524a94651 fn: fix math error in calculating msecs in container states (#1157) 2018-08-03 17:25:01 -07:00
CI
558b296e50 fnserver: 0.3.525 release [skip ci] 2018-08-03 18:16:16 +00:00
Owen Cliffe
c3a46f9452 Use sha256 for slot token (#1155) 2018-08-03 19:07:28 +01:00
Tolga Ceylan
0105f8321e fn: stats view/distribution improvements (#1154)
* fn: stats view/distribution improvements

*) View latency distribution is now an argument
in view creation functions. This allows easier
override to set custom buckets. It is simplistic
and assumes all latency views would use the same
set, but in practice this is already the case.
*) Removed API view creation to main, this should not
be enabled for all node types. This is consistent with
the rest of the system.

* fn: Docker samples of cpu/mem/disk with specific buckets
2018-08-03 11:06:54 -07:00
CI
19b39b7601 fnserver: 0.3.524 release [skip ci] 2018-08-03 13:50:14 +00:00
Richard Connon
a2e8be5e78 Equality operator on app should include syslogurl field (#1153) 2018-08-02 15:49:43 -07:00
CI
9c3495c34d fnserver: 0.3.523 release [skip ci] 2018-08-01 18:02:12 +00:00
Owen Cliffe
9b1f5e9cee Add server API to disable hybrid API on API servers (#1152) 2018-08-01 18:53:38 +01:00
CI
f8ebfc8a5d fnserver: 0.3.522 release [skip ci] 2018-08-01 09:05:28 +00:00
Gerardo Viedma
23fc03c9f4 Expose ServeRoute method on Server to allow extensions to plugin custom route handling (#1151) 2018-08-01 09:57:12 +01:00
CI
1267111ac1 fnserver: 0.3.521 release [skip ci] 2018-07-31 16:07:23 +00:00
Reed Allman
af94f3f8ac move max_request_size from agent to server (#1145)
moves the config option for max request size up to the front end, adds the env
var for it there, adds a server test for it and removes it from agent. a
request is either gonna come through the lb (before grpc) or to the server, we
can handle limiting the request there at least now, which may be easier than
having multiple layers of request body checking. this aligns with not making
the agent as responsible for http behaviors (eventually, not at all once route
is fully deprecated).
2018-07-31 08:58:47 -07:00
CI
0cde57bdab fnserver: 0.3.520 release [skip ci] 2018-07-30 23:12:30 +00:00
Reed Allman
409c104df3 make agent options/config pass lint checks (#1144) 2018-07-30 16:04:27 -07:00
CI
a33535d91c fnserver: 0.3.519 release [skip ci] 2018-07-30 18:22:31 +00:00
james h
61d42e7621 Support _FILE postfixes for environment variables (#1142)
* Support _FILE postfixes for environment variables to be loaded from files

* fix gofmt error
2018-07-30 11:13:06 -07:00
CI
e7188d0e30 fnserver: 0.3.518 release [skip ci] 2018-07-26 23:03:32 +00:00
Tolga Ceylan
07d59247ec fn: adjusting LB retry view buckets (#1139)
[0, 2, 3, 4, 8, 16, 32, 64, 128, 256] gives us:

s >= 0
s >= 2
s >= 3

and so on for better observability.
2018-07-26 15:54:56 -07:00
CI
0635a60b24 fnserver: 0.3.517 release [skip ci] 2018-07-26 17:27:56 +00:00
Tolga Ceylan
9f29d824d6 fn: New timeout for LB Placer (#1137)
* fn: New timeout for LB Placer

Previously, LB Placers worked hard as long as
client contexts allowed for. Adding a Placer
config setting to bound this by 360 seconds by
default.

The new timeout is not accounted during actual
function execution and only applies to the amount
of wait time in Placers when the call is not
being executed.
2018-07-26 10:19:25 -07:00
CI
f7266c4f19 fnserver: 0.3.516 release [skip ci] 2018-07-26 15:34:25 +00:00
CI
ee97ed176e fnserver: 0.3.515 release [skip ci] 2018-07-24 22:28:42 +00:00
Tolga Ceylan
2706323cec fn: tests for private repo auth and rename DOCKER_AUTH (#1134)
Renamed DOCKER_AUTH with FN_ prefix to clarify the purpose. Docker
does not use this variable.

New tests to clarify the repo/auth-config behavior.
2018-07-24 15:19:59 -07:00
CI
7c778dba90 fnserver: 0.3.514 release [skip ci] 2018-07-24 01:24:24 +00:00
Tolga Ceylan
cf37a21fab fn: cleanup of docker private registry code (#1130)
* fn: cleanup of docker private registry code

Start using URL parsed ServerAddress and its subdomains
for easier image ensure/pull in docker driver. Previous
code to lookup substrings was faulty without proper
URL parse and hostname tokenization. When searching
for a registry config, if image name does not contain
a registry and if there's a private registry configured,
then search for hub.docker.com and index.docker.io. This
is similar to previous code but with correct subdomain
matching.

* fn-dataplane: take port into account in auth configs
2018-07-24 02:15:25 +01:00
CI
5b1f72f470 fnserver: 0.3.513 release [skip ci] 2018-07-23 20:13:47 +00:00
Tolga Ceylan
fc71208063 fn: add context into to logger passed to DialWithBackoff (#1133) 2018-07-23 13:05:30 -07:00
CI
3d60c9c6be fnserver: 0.3.512 release [skip ci] 2018-07-20 23:08:00 +00:00
Tolga Ceylan
db7cbf73e2 fn: add requests received/handled in Status responses (#1132)
This is useful as additional data to inflight requests.
Callers can determine request arrival and processing
rate.
2018-07-20 16:00:02 -07:00
CI
c0bb60fd67 fnserver: 0.3.511 release [skip ci] 2018-07-19 23:21:29 +00:00
Tolga Ceylan
1258baeb7f fn: agent eviction revisited (#1131)
* fn: agent eviction revisited

Previously, the hot-container eviction logic used
number of waiters of cpu/mem resources to decide to
evict a container. An ejection ticker used to wake up
its associated container every 1 sec to reasses system
load based on waiter count. However, this does not work
for non-blocking agent since there are no waiters for
non-blocking mode.

Background on blocking versus non-blocking agent:
    *) Blocking agent holds a request until the
    the request is serviced or client times out. It assumes
    the request can be eventually serviced when idle
    containers eject themselves or busy containers finish
    their work.
    *) Non-blocking mode tries to limit this wait time.
    However non-blocking agent has never been truly
    non-blocking. This simply means that we only
    make a request wait if we take some action in
    the system. Non-blocking agents are configured with
    a much higher hot poll frequency to make the system
    more responsive as well as to handle cases where an
    too-busy event is missed by the request. This is because
    the communication between hot-launcher and waiting
    requests are not 1-1 and lossy if another request
    arrives for the same slot queue and receives a
    too-busy response before the original request.

Introducing an evictor where each hot container can
register itself, if it is idle for more than 1 seconds.
Upon registry, these idle containers become eligible
for eviction.

In hot container launcher, in non-blocking mode,
before we attempt to emit a too-busy response, now
we attempt an evict. If this is successful, then
we wait some more. This could result in requests
waiting for more than they used to only if a
container was evicted. For blocking-mode, the
hot launcher uses hot-poll period to assess if
a request has waited for too long, then eviction
is triggered.
2018-07-19 15:04:15 -07:00
CI
8e373005a0 fnserver: 0.3.510 release [skip ci] 2018-07-17 13:03:36 +00:00
Owen Cliffe
1d5892b0c6 Fix/test trigger annotations (#1126)
* Fix/test trigger annotations
2018-07-17 13:54:26 +01:00
CI
95dda3d3e6 fnserver: 0.3.509 release [skip ci] 2018-07-17 01:43:44 +00:00