Zuul no longer requires the project-name for in-repo configuration.
Omitting it makes forking or renaming projects easier.
Change-Id: Id6cc9f40e5bb2c51ae546953fcae51a9f1b861a7
kubectl is a single executable binary with the size of 67M. With this
commit the binary won't be downloaded when it already exists. This helps
save some time and network bandwidth when testing.
Change-Id: I0f4de5d0eb6e8f7a73d10f8636432519ae961e64
On CentOS and Fedora, kube.sh installs Docker from distro repository.
Running get-docker.sh to try installing Docker again when Docker package
is not installed using that script can cause trouble as warned in that
script itself [1].
[1] https://github.com/docker/docker-install/blob/91ca5b2/install.sh#L258-L262
Change-Id: Ib81dfeeb5b9e92d3449e66c7b0bdea86570d4990
Zuul no longer requires the project-name for in-repo configuration.
Omitting it makes forking or renaming projects easier.
Change-Id: I3d46be54b3dc419e14d954a2d3eb00d5219be1d9
It would cause "Permission denied" error because of the lack of execute
permission on the script file.
Change-Id: If7462fa277d114dbf0ebd7e4c0cd2256b4f29c87
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
- Qinling is using etcd for distributed locking, especially for invoking
functions simultaneously.
- Get rid of function service and function worker mapping table
- Use etcd to store function service url and workers
Change-Id: I0a6abc98534dc95af5b985b6b6b4c0883263a221
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
Increase pod based on the execution rate in qinling-engine so it's
qinling's responsibility to decide when and how to autoscale pod
allocation. This behavior is configurable, the admin user can also
scale up the pod via qinling API manually.
Change-Id: Ie0b01481405daf10f495fa9d6389a624a82f0385
Implements: blueprint qingling-autoscaling
- Improve/Simplify python runtime
- Use non-locking for communication with db when invoking function.
- Add config option to run job handler.
- Pre-fetch runtime when query function in db.
Change-Id: I9e791aecf03d5bf64a39548e6c9bad1b678882af
As log says, 'oslo_messaging.transport.get_transport()' is deprecated.
The reference link of oslo_messaging is at [1].
[1] https://review.openstack.org/#/c/454194/
Change-Id: Ib4e8cc7b30a7541221d9ae2d244577b2dae5518d
Usages of following resources are limited(for at least python runtime):
- cpu
- process number
- file descriptor
- file size
Change-Id: I3bbd9e7a46a970eb0d9e99d1258b7b27407c0d90
Implements: blueprint qinling-container-resource-limitation