Commit Graph

1044 Commits

Author SHA1 Message Date
Reed Allman
161459192d Id gen suga 2017-06-19 10:40:26 -07:00
Reed Allman
16b15af9e7 Merge branch 'deps_yml' into 'master'
No need to pull deps they are in git

See merge request !63
2017-06-16 15:45:18 -07:00
James
0c93acaea0 No need to pull deps they are in git 2017-06-16 15:40:52 -07:00
Reed Allman
1ef8f8358b Merge branch 'vendor-deps' into 'master'
Vendor deps

See merge request !60
2017-06-16 15:18:30 -07:00
James Jeffrey
f2e2c9284b Merge branch 'fix-panic' into 'master'
don't overwrite error when inserting into db

See merge request !62
2017-06-16 15:12:00 -07:00
James Jeffrey
1c9bda7863 Merge branch 'fix-panic' into 'master'
fixes panic, still dk why result and err are nil. need to fix fucked up code

Closes #69

See merge request !61
2017-06-16 15:02:49 -07:00
Travis Reeder
345da3fcb3 Merge branch 'master' of https://gitlab-odx.oracle.com/odx/functions 2017-06-16 10:15:08 -07:00
Travis Reeder
d8aa3954f6 dind version bump 2017-06-16 10:15:05 -07:00
Travis Reeder
8321a60642 Merge branch 'lb-legos' into 'master'
move the lb stuff around in lego form

See merge request !58
2017-06-15 16:44:22 -07:00
Reed Allman
5a77e2633e Merge branch 'fix-startup-output' into 'master'
Fixes scary output on docker startup.

Closes #26

See merge request !55
2017-06-15 15:48:34 -07:00
Travis Reeder
9a8ff408b5 Fixes scary output on docker startup. 2017-06-15 15:48:34 -07:00
Travis Reeder
855dcf6ac7 fn tool: 0.3.11 release [skip ci] 2017-06-15 08:35:11 -07:00
Travis Reeder
6800f55ef7 Merge branch 'master' of https://gitlab-odx.oracle.com/odx/functions 2017-06-15 08:33:59 -07:00
Travis Reeder
63680ad815 Added alpine fn release. 2017-06-15 08:33:53 -07:00
Denis Makogon
08c1a8adf9 Merge branch 'change_tests' into 'master'
Change way env vars for tests are set

See merge request !56
2017-06-14 13:34:06 -07:00
James
8207735aec Remove port. 2017-06-14 12:50:23 -07:00
James
7bfc233fc5 Add : as it removes need for if. : makes it use if var is empty or unset not just unset 2017-06-14 12:43:00 -07:00
James
1d8d24b9af Use localhost or docker host. 2017-06-14 12:37:52 -07:00
James
1523144ff9 Change way env vars for tests are set 2017-06-14 12:17:40 -07:00
James Jeffrey
b45ad6d5f9 Merge branch 'update_to_deploy' into 'master'
Fire off deploy trigger

See merge request !50
2017-06-13 11:52:43 -07:00
James Jeffrey
5d836d7a74 Merge branch 'deploy_trigger' into 'master'
Fire trigger to deploy functions-svc

See merge request !51
2017-06-13 11:49:44 -07:00
Reed Allman
84c7b4d656 Merge branch 'fix-fn-glide' into 'master'
fix the fn glide

See merge request !54
2017-06-13 11:47:14 -07:00
Travis Reeder
6480725b51 fn tool: 0.3.10 release [skip ci] 2017-06-13 11:39:40 -07:00
Travis Reeder
9ff12e42c0 Merge branch 'master' of https://gitlab-odx.oracle.com/odx/functions 2017-06-13 11:38:58 -07:00
Travis Reeder
da70a0ef67 Fixing fn release script. 2017-06-13 11:38:54 -07:00
Reed Allman
60014af2c4 Merge branch 'Makefile-docker-run-proxy' into 'master'
Added -e NO_PROXY and -e HTTP_PROXY to docker-run to fix docker failure to connect to host unix.sock

See merge request !52
2017-06-13 11:24:34 -07:00
Travis Reeder
e36cde079d Merge branch 'wait-time' into 'master'
adds wait time based scaling across nodes

See merge request !48
2017-06-13 11:20:25 -07:00
Shaun Smith
a31bbdc676 Added -e NO_PROXY and -e HTTP_PROXY to docker-run to fix docker failure to connect to host unix.sock 2017-06-13 11:15:21 -07:00
Travis Reeder
4a89f5648d fixing fn release script 2017-06-13 11:14:34 -07:00
Travis Reeder
9981004af3 fn tool: 0.3.9 release [skip ci] 2017-06-13 11:11:02 -07:00
Travis Reeder
f9cc13c7f5 Fixing fn release script. 2017-06-13 11:10:22 -07:00
Travis Reeder
475a070278 fn tool: 0.3.8 release [skip ci] 2017-06-13 11:07:53 -07:00
Travis Reeder
012855ee0d Fixing fn release script. 2017-06-13 11:07:18 -07:00
James
03bacc5085 Fire trigger to deploy functions-svc 2017-06-13 09:59:55 -07:00
James
e096364757 Fire off deploy trigger 2017-06-12 15:01:46 -07:00
Reed Allman
b59465ddeb don't overwrite error when inserting into db 2017-06-11 03:10:16 -07:00
Reed Allman
bcdfa22248 fixes panic, still dk why result and err are nil. need to fix fucked up code 2017-06-11 02:56:00 -07:00
Reed Allman
d4340e4932 add fn/vendor 2017-06-11 02:10:50 -07:00
Reed Allman
16529159a9 update other gitignore 2017-06-11 02:07:31 -07:00
Reed Allman
94c5b41961 updated gitignore 2017-06-11 02:06:54 -07:00
Reed Allman
f2c7aa5ee6 add functions/vendor files 2017-06-11 02:05:36 -07:00
Reed Allman
6ee9c1fa0a remove dep files, update glide top to ignore fn/ 2017-06-11 02:03:02 -07:00
Reed Allman
398ecc388e move the lb stuff around in lego form
this structure should allow us to keep the consistent hash code and just use
consistent hashing on a subset of nodes, then in order to satisfy the oracle
service stuff in functions-service we can just implement a different "Grouper"
that does vm allocation and whatever other magic we need to manage nodes and
poop out sets of nodes based on tenant id / func.

for the suga... see main.go and proxy.go, the rest is basically renaming /
moving stuff (not easy to follow changes, nature of the beast).

the only 'issues' i can think of is that down in the ch stuff (or Router) we
will need a back channel to tell the 'Grouper' to add a node (i.e. all nodes for
that shard are currently loaded) which isn't great and also the grouper has no
way of knowing that a node in the given set may not be being used anymore.
still thinking about how to couple those two. basically don't want to have to
just copy that consistent hash code but after munging with stuff i'm almost at
'fuck it' level and maybe it's worth it to just copy and hack it up in
functions-service for what we need. we'll also need to have different key
funcs for groupers and routers eventually (grouper wants tenant id, router
needs tenant id + router). anyway, open to any ideas, i haven't come up with
anything great. feedback on interface would be great

after this can plumb the datastore stuff into the allGrouper pretty easily
2017-06-10 15:21:23 -07:00
Reed Allman
8790859532 fix the fn glide 2017-06-10 02:35:26 -07:00
Reed Allman
75c5e83936 adds wait time based scaling across nodes
this works by having every request from the functions server kick back a
FXLB-WAIT header on every request with the wait time for that function to
start. the lb then keeps track on a per node+function basis an ewma of the
last 10 request's wait times (to reduce jitter).  now that we don't have max
concurrency it's actually pretty challenging to get the wait time stuff to
tick. i expect in the near future we will be throttling functions on a given
node in order to induce this, but that is for another day as that code needs a
lot of reworking. i tested this by introducing some arbitrary throttling (not
checked in) and load spreads over nodes correctly (see images). we will also
need to play with the intervals we want to use, as if you have a func with
50ms run time then basically 10 of those will rev up another node (this was
before removing max_c, with max_c=1) but in any event this wires in the basic
plumbing.

* make docs great again. renamed lb dir to fnlb
* added wait time to dashboard
* wires in a ready channel to await the first pull for hot images to count in
the wait time (should be otherwise useful)

future:
TODO rework lb code api to be pluggable + wire in data store
TODO toss out first data point containing pull to not jump onto another node
immediately (maybe this is actually a good thing?)
2017-06-09 16:30:34 -07:00
Reed Allman
8146864b0b Merge branch 'fix-logrus' into 'master'
hack logrus sirupsen name change

See merge request !47
2017-06-09 14:17:23 -07:00
Reed Allman
c23d893da6 Merge branch 'deploy_sh' into 'master'
Deploy sh

See merge request !46
2017-06-09 13:42:59 -07:00
James Jeffrey
79f1dab007 Deploy sh 2017-06-09 13:42:59 -07:00
Reed Allman
aa170c918f Merge branch 'fix-tests' into 'master'
fix up the tests

See merge request !44
2017-06-08 13:09:48 -07:00
Denis Makogon
1c9c30e062 Merge branch 'update-fn-tool' into 'master'
Update fn tool

See merge request !42
2017-06-08 11:46:56 -07:00