If a function version is created and then we create an execution using
version 0 of that function, then the service of version 0 of that
function will never expire. This commit fixes the problem.
Change-Id: I67ad2611b121b36368c15f9bf5d2268d430df3a6
Story: 2002956
Task: 22958
The original file size limit is too small and not suitable for common
user case. This patch changes the file size limit to 50M but it could
be configurable in future.
Change-Id: Ie48c9374f8eb2b6a15416fb5ec775f6a444063c3
Story: 2002967
Task: 22973
It doesn't make sense to expose the cglimit API to the outside as it is
only accessed locally. Limiting it only listen on localhost prevents
access from the outside and thus improves the security.
Change-Id: I941b7f8c33e5a631bef18df6667423c5bbdbf779
Or the function_version of a webhook would be changed to the default
value when updating the webhook without providing the function_version
parameter. That's an unexpected result.
Story: 2002898
Task: 22862
Change-Id: I63ec211a8771a55d2b04caed1f66a405849cb201
Signed-off-by: Hunt Xu <mhuntxu@gmail.com>
This patch enables oslo_config mutable configuration for the Qinling
control plane processes. The configuration will be updated when the
parent process receives a HUP signal.
This completes the Rocky goal: Enable mutable configuration.
Change-Id: Ib4b007d0c1e0401ed652bdf7a90993200bbfb576
Story: 2001545
Task: 6400
This patch supports function alias delete and update API.
- Function alias delete
- Function alias update
- Unit test for the API
Change-Id: I8341ef2a60ef0696ffd2095281cbb7fae3b15f5e
story: #2002143
task: #19987
There is a limitation for loading modules directly from a zip file:
"ZIP import of dynamic modules (.pyd, .so) is disallowed." which
makes most of python libs including C extentions not work. So we have
to extract the zip before executing the function.
Change-Id: I4d4eed380a4140c905603891e1dfa942834bd25d
This patch supports function alias create and get API.
- Function alias creation
- Get function alias
- Get all the function aliases
Change-Id: I98539d5db5e6a125a760eebcd0472e712bc4765f
story: #2002143
task: #19982
This is required for resource limiting for non-image functions as we use
the cgroup paths setup by the cgroupfs driver.
Change-Id: I91c50d5ee70a5973f720fd13c6c6214c7361fb7a
Using 'cgroup' in runtime server to limit cpu and memory resources.
Each pod in deployment will has respective 'cgroup' directory on host.
Under '/sys/fs/cgroup/xx/kubepods/<qos_class>/pod<uid>' directory, use
HOSTNAME to create a new cgroup folder, which will only be used to
limit function execution. Then we do not need to care about how and
when to delete this new folder on host.
Use 'openstackqinling/python-runtime:0.0.3' as the new python runtime
image.
Story: 2001586
Task: 14415
Change-Id: Id04a72c4f4a3c559dc7c746688b13ef93656d125
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Change-Id: Ifc418b2911ec09d1f7968ffb3d3e4093f6d07d6c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The built-in name 'file' does not exist under python 3, so replace it
with 'open', which is the same under python 2 and 3.
Change-Id: Ic1ff9308b1ab0bda8d49a556620bb22ca5407b5e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Some arguments are not converted while logging because of string
literals are missing.
Change-Id: Ifc242a758b6b501a0469e0cfea629d817cedb1d2
Story: 2002154
Task: 20001
This makes sure that users are told executions failed due to something
is wrong in Qinling engine.
Change-Id: I19abb2ad4abe955bf18550bce04499d2c4f9bbb5
Story: 2002043
Task: 19687
The workers and etcd records should be removed when deleting the
function version.
Change-Id: I04e1d2952227bcc5cf1dad3ac1a6d53bde636c10
Story: 2002100
Task: 19778