After function autoscaling support, it's impossible for qinling-engine
to get execution log because it doesn't know which pod it is talking
to.
So, it's neccessary for the runtime to return execution logs to
qinling engine.
The qinling client is not affected.
Change-Id: I96dfd00cc83d8b8a5e8c601ee3800b1ef1a45b1b
Provide an API to do scale up operation, leave the container
monitoring to orchestrator underlay, although k8s already supports
HPA, but we should not rely on specific container orchestrator
capability for general purpose.
Partially implements: blueprint qingling-autoscaling
Change-Id: Iff1ff646a6df263b2770b8cebc74e80ab18c7613
For testing purpose, just use multithreading support of Flask itself.
It's not recommended for production use.
Change-Id: I062c6f093e1c167a2ef9c8ad6747fc770e0139e8
1) Update doc links according to OpenStack document migration
2) Use https instead of http for docs links
Change-Id: I7138f4fa1c519f9916aacc1e029e684917098fff
After execution is finished, Qinling provides API to query execution
log for audit, debug or other purposes.
Implements: blueprint qinling-logs
Change-Id: Ie92619bf238c8e72e15c350c65bfbbb88a065f97
If the function is triggered by job, it's very hard to get openstack
serssion based on trust id, unless the qinling service credentials are
passed which will lead to security issue.
So, this patch will remove 'context' param for user function.
Change-Id: Ib0e185ad9729cf59e308b7ded683911a92624ad0
OpenStack service session is generated when downloading code from
inside the container, but when the function is invoked at a deferred
time, the token may already be expiried.
Need to create the session when executing the function instead of
when downloading.
Change-Id: I8170bfb1c5f8b6cf88a744547db12cc12248aaca
When deleting function, the service mapping record should be
deleted automatically.
Provide a helper script for resource clean up.
Change-Id: Ie3db454b5bcfb74a0826f01c4626fb45fca58478
This is part-1 of jobs support in Qinling.
With job API, users can create a job with an existing function
that can be ran in cron job's fashion, but the job definition
has more capabilities than cron.
Change-Id: I0cb885dd6005ba024e3816bae9b79b0d3f35d335
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
If update image, will send asynchronous request to engine. If some
error happened during update, engine will rollback runtime
automatically.
Change-Id: I1598b1c04427dfdb7d573bbff8dc017f113c2fd2