Commit Graph
458 Commits
Author SHA1 Message Date
Erwin van EykandSoam Vasani f841d6ddd1 Fission workflow env integration (#336)
Add a flag to the environment to control multiple specialization -- the max number of functions per container. This can be set to 1 or infinity. 

Add an api proxy to workflow apiserver from the controller.

Add function metadata to FunctionLoadRequest; every v2 environment now knows which function it's loading (but can ignore that information if it wants to).

Add function identity headers to router. This is useful for multiple specialization, so the router can disambiguate between different function calls. (If this turns out to be a non-trivial perf overhead, we could add these headers conditionally, but for now they are always added.)
2017-09-26 18:36:07 -07:00
Soam VasaniandGitHub 14b0686183 Dump package resources at the end of tests (#357) 2017-09-26 12:55:03 -07:00
Erwin van EykandSoam Vasani 2d15fc9f67 Add bodyparser for text/* mime types to node-env (#349) 2017-09-25 11:11:43 -07:00
Ta-Ching ChenandSoam Vasani c8ff318747 Add builder manager support (#308)
This change orchestrates function builds.

Environments (in v2) define a builder image, just like they do a runtime image. The builder image contains a build script that's invoked with source and deployment paths (as env vars).

The buildermgr watches for environments with build images defined, and creates build deployments and services.

Functions can define source and deployment. Buildermgr watches for functions with source code (and build status == pending) and invokes the environment's builder when appropriate. It captures logs from the build and sets the build status (success/failure) and build lots into the PackageStatus.
2017-09-25 07:53:09 -07:00
Ta-Ching ChenandSoam Vasani fcf39a364c Use Containers to find matched storage containers (#350) (#353)
Use stow api correctly to find our function storage container on restarts.
2017-09-24 10:36:06 -07:00
Ta-Ching ChenandSoam Vasani 3ffa5f2874 Fix storage service failed to start after restarting it (#352) 2017-09-24 08:21:13 -07:00
Ta-Ching ChenandSoam Vasani 67fdb8bd0c Fix missing checksum from CLI uploads (issue #342) (#343)
Archive upload from the CLI wasn't filling in the checksum field, causing validation to fail.
2017-09-22 12:27:42 -07:00
James SturtevantandSoam Vasani 611403abd4 copy trigger metadata directly from map (#341) 2017-09-22 06:54:05 -07:00
Soam Vasani e975949885 Add dotnet20 to release.sh 2017-09-21 11:47:11 -07:00
João AlmeidaandSoam Vasani 5817a502e6 Fission dotnet 2.0 env (#337)
Adding a new dotnet environment, supporting dotnet core 2.0.

Project structure changed. Project.json was abandoned. Project.csproj is now used.
2017-09-21 11:30:15 -07:00
Daijiro WachiandSoam Vasani 13f4afedbc Update a dependency in the package.json (#339)
Since `mz` has already bumped for several times without
breaking change, it's better to follow the updates.

```console
$ npm outdated
Package  Current  Wanted  Latest  Location
mz         2.1.0   2.1.0   2.7.0  fission-nodejs-runtime
```

Fixes: https://github.com/fission/fission/issues/167
2017-09-21 05:55:45 -07:00
Soam VasaniandGitHub 409551a5db Fix internal route setup bug (#335)
Fixes #334 which broke internal routes, and adds a test.
2017-09-20 06:51:56 -07:00
Soam VasaniandGitHub 61121c043d Post-install hook to poke analytics function (#325)
Send chart name and chart version after installation to an analytics function. Users can opt-out with --set analytics=false.
2017-09-19 15:39:36 -07:00
TAKAHASHI YutoandSoam Vasani a9258846c3 Tag and push the latest environment images (#333)
Update release script to push the latest tag for env images.
2017-09-19 06:34:31 -07:00
Soam VasaniandGitHub b0959eb0f3 Function service cache partial support for multiple specialization (#332)
This adds partial support for multiple specialization to the
function service cache. It allows Add() to succeed if the pod and
address maps already contain entries.

But it doesn't deal with DeletePod and TouchByAddress. That's ok for
now, because the workflow engine never deletes the environment pod
(that pod is the workflow engine).

However, if/when we want full support for multiple specialization,
that will require updating both DeletePod and TouchByAddress.
2017-09-18 15:57:06 -07:00
Myles BorinsandSoam Vasani bc62245435 Upgrade Node Environment to 8.x (#329)
7.x has not been maintained since April. 8.x is going into LTS
during October and will receive another 30 months of support.
2017-09-17 05:11:11 -07:00
Erwin van EykandSoam Vasani 760f6bbdd9 Removed obsolete Kubernetes YAMLs (#327)
We've switched to helm, and the switch seems to be going well, so that's the only supported installation method now.
2017-09-14 13:34:52 -07:00
Soam Vasani 153dce6ced fix broken helm download command in instructions, again 2017-09-12 16:46:39 -07:00
Soam Vasani d83f92102b fix broken helm download command in instructions 2017-09-12 16:45:33 -07:00
Soam VasaniandGitHub 9118dbe013 update readme with latest install instructions (#324) 2017-09-12 15:16:56 -07:00
Soam Vasani 23e02af72c Release script bugfix 2017-09-11 20:11:06 -07:00
Soam Vasani 21ea4dda08 set versions to v0.2.1 2017-09-11 18:32:25 -07:00
Soam VasaniandGitHub 90c18a8f79 Upgrade tool for 0.1 -> 0.2.1 (#320)
Allows dumping v0.1 state to a json file and restoring it into a new v0.2.1 fission installation.

Usage guide is at: /Documentation/docs-site/content/upgrade-from-v0.1.md
2017-09-11 18:31:36 -07:00
Soam Vasani 29830b28d4 release script: replace existing binaries 2017-09-11 07:25:44 -07:00
Soam Vasani 7455591ed6 0.2.1-rc2 docs version update 2017-09-10 12:29:39 -07:00
Soam VasaniandGitHub 7c1a83473e Release automation script -- attach helm charts, tag env images (#318)
Remove yaml manipulation from release script, package up and attach helm charts.
Build, tag and push fetcher image and all environment runtimes.
2017-09-10 09:16:16 -07:00
Soam Vasani 8612ea64e5 set version to 0.2.1-rc2 2017-09-10 00:36:50 -07:00
Soam Vasani 29c9e5774a update helm chart urls 2017-09-08 23:28:39 -07:00
Soam Vasani 9cd845cc88 Set version to 0.2.1-rc in CLI, API and helm charts 2017-09-08 20:48:00 -07:00
Soam Vasani eb8622b3bb Doc updates: base url, minor bugfixes 2017-09-08 20:36:31 -07:00
Soam Vasani 4eeea2962d Parameterize logger nodeport; remove ui service 2017-09-08 20:19:32 -07:00
Soam Vasani 4f9b74426a remove compiled hugo site 2017-09-08 20:09:37 -07:00
Soam Vasani 0242048863 doc theme 2017-09-08 19:13:41 -07:00
Soam Vasani bd56be9355 Install and upgrade guide updates 2017-09-08 19:12:16 -07:00
Soam Vasani e1b58bc787 futz with doc css 2017-09-08 19:12:04 -07:00
Soam Vasani 5a7b4eb37a remove inadvertently created submodule 2017-09-08 19:05:28 -07:00
Soam VasaniandGitHub e2004778a2 Hugo-based documentation site (#317)
Not much content yet; this is a start.
2017-09-08 16:47:59 -07:00
Soam VasaniandGitHub 279f5c014f Move builds to package level (#297)
Introduce _Archives_ as a type to reference arbitrary blobs.

_Packages_ are a pair of Source and Deployment archives. Packages have an environment reference.

Functions reference a package. Multiple functions can reference the same package.
2017-09-08 14:19:39 -07:00
Ta-Ching ChenandSoam Vasani ebd3c9f989 Use latest function metadata to check cached function service. (#316)
Watch functions in the router and use that to trigger functionReferenceResolver cache invalidation.

We might want to rate-limit syncTriggers in a future change, since we might be triggering it more often than needed.
2017-09-08 13:53:02 -07:00
Soam VasaniandGitHub 952d026698 Storage service helm chart integration + bugfixes (#315)
Add storage service and a persistent volume claim to helm charts. A few bugfixes for the api proxy.
2017-09-08 04:49:14 -07:00
Moritz Grosch (LittleFox)andSoam Vasani 2e277ac22c Added perl environment (#311)
Perl runtime environment and example function.
2017-09-07 23:42:40 -07:00
Ta-Ching ChenandSoam Vasani 5249f72b34 Unarchive zip file after fetcher downloads the package (#301)
Fetcher now uncompresses archive files. 

This is triggered by automatically detecting the file format, although maybe we should make that explicit or at least move the detection into the client.
2017-09-01 07:50:47 -07:00
Soam VasaniandGitHub 2b8a19b06c Large functions: API proxy for storage svc, upload support in the CLI (#304)
This change contains CLI support for uploading large functions to the storage service.

It also adds a reverse proxy into the storage service to the fission API.

The helm chart is not yet updated to actually run the storage service -- that will come in the next change.
2017-08-31 15:42:59 -07:00
Ta-Ching ChenandSoam Vasani 38b7f45e1b Add Environment v2 Builder (#298)
Build server and client for environments.

This build server will run inside environment builders and invoke environment-specific scripts for doing builds. It provides a uniform language-independent API for builds to the fission build manager.

The change also includes an implementation of a builder for Python -- this "builder" acts on requirements.txt and runs `pip install` to collect all function deps.
2017-08-31 10:56:40 -07:00
Soam VasaniandGitHub e418d6e20c Storage service and client (#300)
A very rudimentary storage service for archives larger than what can
fit in TPR/CRD resources. The library used allows for using local
files, AWS S3, or other cloud storage APIs. For now only local paths
are set up.

The storage service doesn't know anything about functions or packages;
it can be used for arbitrary archives.

There's no CLI integration yet.
2017-08-31 00:44:25 -07:00
Ta-Ching ChenandSoam Vasani c541390ad6 Add env builder & srcpkg through cli (#296)
CLI support for specifying an environment builder and source packages.
2017-08-28 10:44:31 -07:00
Liu YangandSoam Vasani eda57c5e28 Add link to the logs section of INSTALL.md (#299) 2017-08-28 09:19:18 -07:00
Soam VasaniandGitHub 5b36a798f7 Split out the Package type into a first class Kubernetes resource (#295)
Split out the Package type into a first class Kubernetes resource. Before this change, packages were implicitly tied to functions.

This wasn't ideal because:
 * Functions will need to share packages
 * A package storage system may be more generally useful than just
   functions (for example, for storing static assets)

This change does the following:
* Updates the fission and tpr types to add a new Package and PackageSpec.  It also creates a PackageRef type, and a FunctionPackageRef type. The PackageRef simply references a package, but the FunctionPackageRef includes the name of a function within the package. This allows us to share packages between different functions.
* Updates fetcher and other components for first-class packages
* Allows customization of fetcher image pull policy in the helm charts
2017-08-25 13:40:45 -07:00
Soam Vasani 9e79a3632c Reduce slack spam 2017-08-24 11:10:41 -07:00
Soam Vasani 80d5a7ce19 Project credits: link to Platform9 and contributor list 2017-08-23 11:25:09 -07:00