Commit Graph

24 Commits (8d321927d35363de0dd2d1e5e9824e7abe91fe69)

Author SHA1 Message Date
Jenkins 8d321927d3 Merge "Updated from global requirements" 2017-07-04 03:09:11 +00:00
Lingxian Kong 0f7362083f Updated from global requirements
Change-Id: Ib75da5b56ce71f33f433906df175e21f58cc947d
2017-07-04 15:00:21 +12:00
Lingxian Kong 1171944560 Add basic unit test structure
Partially implements: blueprint add-unit-tests

Change-Id: Ic96dcaf401f30bc098738818630777fc62040aca
2017-07-04 14:34:53 +12:00
Lingxian Kong 786f83d182 Support Keystone session in python runtime
Keystone session can be used directly in user function to access
OpenStack services.

Include openstack clients in python requirements as well.

Add a python function example.

Implements: blueprint qinling-openstack-clients
Change-Id: I4798c404cb57bafe14049f57ba8db7c7125106c7
2017-07-03 01:16:40 +12:00
Lingxian Kong 992c90e044 Support update runtime
If update image, will send asynchronous request to engine. If some
error happened during update, engine will rollback runtime
automatically.

Change-Id: I1598b1c04427dfdb7d573bbff8dc017f113c2fd2
2017-06-26 21:22:40 +12:00
Lingxian Kong 13f1e6f41e Support function update
Change-Id: Ib184236b28a4aa3684970654f2788c9e3677f822
2017-06-23 09:55:56 +12:00
Lingxian Kong 5587f947f6 Fix function deletion
When deleting function, we should remove all the allocated resources
in the orchestrator, no matter what kind of source the function is
using.

Change-Id: I7ee3d1bb1e6b417194a1b86606f8fcd64cb598cf
2017-06-22 10:07:32 +12:00
Lingxian Kong fa10083c3b Support to sepcify module.function for python function
Currenty, the function entry is hard-coded to be 'main.main' which is
not flexible. This patch adds support for specifying module name and
function name in the code package.

Change-Id: I92ea36f668073f380a4aef4526a6fad321d8cc95
2017-06-19 23:07:27 +12:00
Lingxian Kong 0d3ba2f7c8 Support python function input
For example:
http POST http://127.0.0.1:7070/v1/executions function_id=<FUNCTION_ID> input:='{"param1": "value1"}' X-Auth-Token:<TOKEN>

Change-Id: I04ead79c22ead5720eaab58f456568a7ed9b23b4
2017-06-15 22:59:27 +12:00
Lingxian Kong 80302f534e Add Qinling pronunciation in README
Change-Id: I603cd909ad5fddb940eb82be35de9f018f3aac13
2017-06-08 11:04:57 +12:00
Lingxian Kong dc915d4b44 Add irc channel info
Change-Id: I73c63244632686917439f0270a9b53b0c447867e
2017-05-26 11:03:35 +12:00
Lingxian Kong 75efc2b1ad Add expiry handler for function service
When a package function is executed, a service url is cached so it's
faster when function is executed again. But this will lead to problem
if function is never executed for a long time.

This patch add an expiry machanism which will release resources in
orchestration platform.

Change-Id: I754ebe314d87f6d7c194d9b9c061316f7ba74245
2017-05-22 23:40:17 +12:00
Lingxian Kong d80f3acf35 Support sync/async execution
Invoke a function in sync way means the command will wait until the
execution finish. On the contrary, 'sync=false' means user will get
a response before the function is actually invoked. User could get
execution status using execution ID in the response.

Change-Id: I605ea8414f49d44899e0bc8c36b89e48e335d284
2017-05-18 22:42:55 +12:00
Lingxian Kong 14789ab0c8 Support docker image as function code
Allow user to create function using her own docker image including
all the code and dependencies inside. The image needs to have an
script running as entry point, expecting user's input as params.

This allow users to execute functions written in any language.
2017-05-18 17:19:13 +12:00
Lingxian Kong 0efa51ae24 Update README.rst 2017-05-16 15:43:31 +12:00
Lingxian Kong b79b2791b8 Add swift object support for function creation
With this patch, users can create function using swift object:

http POST http://127.0.0.1:7070/v1/functions name=swift_function \
  runtime_id=xxx \
  code='{"source": "swift", "swift": {"container": "container_name", "object": "object_name"}}'

Implements: blueprint support-swift-object-as-code
2017-05-16 15:24:46 +12:00
Lingxian Kong 6c71504654 Add some documentation for Qinling
- Add README.rst
- Add Vagrantfile for Qinling trial.
- Rename python2.7 dir to python2
2017-05-14 00:00:09 +12:00
Lingxian Kong df32a9f412 Complete basic workflow(Finally!)
- Create runtime
- Create function
- Invoke function(i.e. create execution)
2017-05-12 12:00:19 +12:00
Lingxian Kong 7b6deac2c1 Add runtimes rest api
- Add db layer and db migration support
- Add orchestrator layer, currently only kubernetes supported.
- Now, create/get/delete runtime work fine
2017-05-05 15:57:52 +12:00
Lingxian Kong de9c3e2f7c Add engine service and rpc layer 2017-04-17 23:58:36 +12:00
Lingxian Kong 9492a02bab Initial API code structure 2017-04-14 15:24:02 +12:00
Lingxian Kong 14812384c2 Make api service work 2017-04-14 15:17:05 +12:00
Lingxian Kong e089c31e73 Make api service work 2017-04-14 14:43:18 +12:00
Lingxian Kong ef833a417f Initial commit for qinling project 2017-04-11 15:13:10 +12:00