Correct params for the following functions when using kubernetes=9.0.0:
- delete_namespaced_pod
- delete_namespaced_service
- create_namespaced_deployment
Incease the timeout when waiting for the runtime created.
Change-Id: I74fd74a5a02811442c9eaff3f25fc03ee9312100
Story: #2006225
Task: #35824
Added timeout support for qinling api and qinling engine so that it can
accept and query the server with timeout parameter.
Change-Id: Ic5aad2e85ecf888fdfa85691fe785dd48f5490fd
Task: 20039
Story: 2002174
This commit to support alias for webhook creation, to create webhook
use function_alias pramater, and get function_id and function_version
from function_alias. Also add function tests for webhook creation.
Change-Id: Ia5db0b446b6b0e0980da596ed073fa6e2d66d7cc
Story: #2002143
Task: #19988
This commit to support alias for job creation, to create job
use function_alias pramater, and get function_id and function_version
from function_alias. Also add function tests for job creation.
Change-Id: If3df940b9bc8453036f8615173136ba05e8769d6
Story: #2002143
Task: #19984
This commit to support alias for execution creation, to create execution
only use function_alias pramater, and get function_id and function_version
from function_alias. Also add function tests for execution creation.
Change-Id: Iea6d3b3ac3d58d539fae88ffe455013ad08d2c43
Story: #2002143
Task: #19986
Other changes in order to make this patch pass CI jobs:
- Incease default runtime replicas to 5
- Decrease tempest concurrency number to 2
Change-Id: If2186013c3c49f1d99ab0ca9b623a339f01680f6
Story: 2001829
Task: 14456
By now, qinling connects to the Kubernetes API server insecurely.
kubectl proxy is used for testing purpose. However, in real production
deployments, it is not a good idea to let qinling connect to the
Kubernetes API server without any authentication and authorization.
This commit adds the support in qinling for it to connect to the
Kubernetes API server with X509 Client Certs for authentication [1].
An example file is also added for users to grant specific access to the
Kubernetes API for qinling using the RBAC authorization of
Kubernetes [2]. With these users can control qinling's access to the
Kubernetes API [3] and ensure qinling uses a secure connection to talk
with the Kubernetes API.
Devstack plugin also setups qinling to connect to Kubernetes API server
using TLS certificates by default. This makes the deployment with
devstack closer to a production-ready environment. For testing purpose,
user can set the QINLING_K8S_APISERVER_TLS variable to False in
devstack's local.conf.
Note: a HOTWO document will be added in a follow-up commit.
[1] https://kubernetes.io/docs/admin/authentication/#x509-client-certs
[2] https://kubernetes.io/docs/admin/authorization/rbac/
[3] https://kubernetes.io/docs/admin/accessing-the-api/
Change-Id: I532f131abbfc8ed90de398cc135e9b8248d2757a
This allows tempest tests to run in parallel. The tempest concurrency by
default is set to 3 as the default number of replicas in a deployment to
avoid more than 'replica' number of tests running at the same time that
some of them may fail because of no available pods.
Change-Id: I6e2731ca36376d28573138d4d404c3918801142c
Node.js support is just for experimental purpose at this stage, may
expect a lot of changes and refactoring as time goes by.
Story: 2001580
Task: 6529
Change-Id: Ib75364ed4501da198b2d40f4eb111428e5e3cbbb
Split function package download functionality into a separate
container, so that it will be easy to add additional runtime support.
I was planning to use kubernetes new verion apps api in qinling, but
failed because the kubernetes client in global requirement is not
updated yet, so I comment the code out in case we use them in future.
Change-Id: I0709b8ac689638b78e00ca35d0fea2db6cae0d0f
Story: 2001580
Task: 6607
User can specify md5sum for the package when creating function that
Qinling could check. User can also check by herself when downloading
function package.
Change-Id: Ib3d37cd92bd2ed7018f5a4825a5323b2652948c9
Implements: blueprint qinling-function-package-md5
Now, admin user could list/show/delete/update most of qinling
resources, except function deletion. Because function deletion
needs to delete the trust created for qinling service by its
owner, only end user has the authority to delete their trust.
Implements: blueprint qinling-admin-operations
Change-Id: I9ec4df59fbf8ac50c96d9677dd74c54677b307a5
- Allow user create webhook based on the function.
- Webhook can be invoked without authentication.
- Can not delete function associated with webhook.
Another big change is, we are going to use minikube instead of
kubernetes-aio scripts from openstack-helm project.
Implements: blueprint qinling-function-webhook
Change-Id: I85e0b0f999f0d820bfacca9ac3b9af04e80df0d7
From 4.0.0, kubernetes-incubator/client-python uses multiprocessing
libaray to send request to k8s cluster, which is not supported by
eventlet. This patch introduced the following changes to fix the issue:
- Use cotyledon for engine service rather than oslo.service
- Update global requirments
- Provide separate scripts for api and engine service
References:
[1] https://github.com/eventlet/eventlet/issues/147
[2] https://bugs.launchpad.net/taskflow/+bug/1225275
Change-Id: Ib99565e00eedc72c388e8ebec6b7f1453f77f30f
- Make docker image function work, add functional tests
- Use 'result' instead of 'output' in execution response
- Support string as execution input
- Update python runtime
Partially implements: blueprint qinling-functional-tests
Change-Id: Ie7e59983cfbc6f9e8514438e30a854f372a4c4d7
This is an admin only operation. which gives admin user a safe way to
clean up the underlying resources allocated for the function.
Change-Id: If98ab5235902516f98be7d485e744cf3ea4cd262