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
(cherry picked from commit f2189a0468)
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
(cherry picked from commit c74ac2faac)
For testing purpose, just use multithreading support of Flask itself.
It's not recommended for production use.
Change-Id: I062c6f093e1c167a2ef9c8ad6747fc770e0139e8
(cherry picked from commit c17a4b44da)
User should not delete a function with running jobs associated.
Change-Id: I627ac7ef057768e7c2d99f56e17da9eacbf4ad76
(cherry picked from commit 55a06cfb77)
After execution is finished, Qinling provides API to query execution
log for audit, debug or other purposes.
Implements: blueprint qinling-logs
Change-Id: Ie92619bf238c8e72e15c350c65bfbbb88a065f97
(cherry picked from commit 089f41de2b)
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