A Kubernetes Operator for Zuul
Go to file
Michael Kelly 193ee88ac0
bug: Select scheduler pod based on instance name on update
smart_update() currently uses the label 'app.kubernetes.io/instance:
zuul' to select the scheduler pod(s) when attempting to kick a smart
update in the pod, however, the pods are created with
'app.kubernetes.io/instance: my-instance-name', which will cause us to
not find any scheduler pods to update.  Instead, we should use the
correct label expression for the query.

Once smart_update() was finding the scheduler pod correctly,
pod_exec() fails on an unnecessary call to load_kube_config().
Removing this enables the pod_exec() - which is only ever used by
smart_update() - to succeed.

Change-Id: I57e4e3dacac1df24a941dd23da6344b4243a0bed
2023-02-24 21:06:55 -08:00
build Update the docker images to python 3.10 2022-10-14 14:48:00 -07:00
deploy web: Enable custom metadata for Service resources 2023-02-24 21:06:54 -08:00
doc web: Enable custom metadata for Service resources 2023-02-24 21:06:54 -08:00
helm/zuul-operator web: Enable custom metadata for Service resources 2023-02-24 21:06:54 -08:00
playbooks/zuul-operator-functional k8s: Allow use of a default image version besides latest 2023-02-24 21:06:54 -08:00
tools Add static node to functional test 2021-08-05 07:34:49 -07:00
zuul_operator bug: Select scheduler pod based on instance name on update 2023-02-24 21:06:55 -08:00
.git-blame-ignore-revs Add reformat changes to the blame ignore list 2020-07-08 13:20:57 -04:00
.gitignore Convert docs from tox to nox 2023-02-24 20:50:29 -08:00
.gitreview Add .gitreview and .zuul.yaml 2019-06-27 07:41:10 -07:00
.zuul.yaml test: Introduce Helm-based functional test 2023-02-24 21:06:54 -08:00
LICENSE Initial commit 2019-04-02 10:01:37 +00:00
Makefile Add docs 2021-07-23 10:27:04 -07:00
README.md Bump API version to v1alpha2 2021-07-20 13:16:58 -07:00
noxfile.py Add remaining nox sessions based on tox.ini 2023-02-24 21:04:59 -08:00
requirements.txt kopf: Upgrade kopf to at least 1.35.0 2022-10-14 08:38:56 -07:00
setup.cfg Convert linters from tox to nox 2023-02-24 21:00:46 -08:00
setup.py Use kopf operator framework 2021-07-20 13:16:07 -07:00
tox.ini Switch docs theme to versioned RTD 2021-12-16 11:22:21 -08:00

README.md

Zuul Operator

Build the image

$ make image

Install the operator

$ make install
kubectl apply -f deploy/crds/zuul-ci_v1alpha2_zuul_crd.yaml -f deploy/rbac.yaml -f deploy/operator.yaml

Look for operator pod and check it's output

$ kubectl get pods
NAME                            READY     STATUS    RESTARTS   AGE
zuul-operator-c64756f66-rbdmg   2/2       Running   0          3s
$ kubectl logs zuul-operator-c64756f66-rbdmg
[...]
{"level":"info","ts":1554197305.5853095,"logger":"cmd","msg":"Go Version: go1.10.3"}
{"level":"info","ts":1554197305.5854425,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":1554197305.5854564,"logger":"cmd","msg":"Version of operator-sdk: v0.6.0"}
{"level":"info","ts":1554197305.5855,"logger":"cmd","msg":"Watching namespace.","Namespace":"default"}
[...]

Usage

$ kubectl apply -f - <<EOF
apiVersion: operator.zuul-ci.org/v1alpha2
kind: Zuul
metadata:
  name: example-zuul
spec:

EOF
zuul.zuul-ci.org/example-zuul created