kubeless icon indicating copy to clipboard operation
kubeless copied to clipboard

Cronjob trigger controller does not come up successfully in v1.0.8

Open nkratzke opened this issue 2 years ago • 0 comments

BUG REPORT:

What happened:

I installed kubeless in a microk8s cluster like that:

kubectl create ns kubeless kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.8/kubeless-v1.0.8.yaml

HTTP Triggers work, however cron triggers do not work.

What you expected to happen:

All pods come up. Cron triggers should work. The kubeless controller manager comes up. The following containers are working fine:

  • kubeless-function-controller
  • http-trigger-controller

But the cronjob-trigger-controller is always crashing producing the following error log: time="2021-11-04T16:08:42Z" level=info msg="Running Kubeless cronjob trigger controller version: v1.0.3" time="2021-11-04T16:08:42Z" level=fatal msg="Unable to read the configmap: Error while fetching config location: v1beta1.CustomResourceDefinition: ObjectMeta: v1.ObjectMeta: readObjectFieldAsBytes: expect : after object field, parsing 1499 ...s":{"k:{\"... at {"kind":"CustomResourceDefinition","apiVersion":"apiextensions.k8s.io/v1beta1","metadata":{"name":"functions.kubeless.io","selfLink":"/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/functions.kubeless.io","uid":"07b3c65c-6c22-43cb-8776-64f93961d251","resourceVersion":"198908","generation":1,"creationTimestamp":"2021-11-04T14:56:34Z","annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"apiextensions.k8s.io/v1beta1\",\"kind\":\"CustomResourceDefinition\",\"metadata\":{\"annotations\":{},\"name\":\"functions.kubeless.io\"},\"spec\":{\"group\":\"kubeless.io\",\"names\":{\"kind\":\"Function\",\"plural\":\"functions\",\"singular\":\"function\"},\"scope\":\"Namespaced\",\"version\":\"v1beta1\"}}\n"},"managedFields":[{"manager":"kubectl-client-side-apply","operation":"Update","apiVersion":"apiextensions.k8s.io/v1beta1","time":"2021-11-04T14:56:34Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubectl.kubernetes.io/last-applied-configuration":{}}},"f:spec":{"f:conversion":{".":{},"f:strategy":{}},"f:group":{},"f:names":{"f:kind":{},"f:listKind":{},"f:plural":{},"f:singular":{}},"f:preserveUnknownFields":{},"f:scope":{},"f:version":{},"f:versions":{}}}},{"manager":"kubelite","operation":"Update","apiVersion":"apiextensions.k8s.io/v1","time":"2021-11-04T14:56:34Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:acceptedNames":{"f:kind":{},"f:listKind":{},"f:plural":{},"f:singular":{}},"f:conditions":{"k:{\"type\":\"Established\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"NamesAccepted\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"NonStructuralSchema\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}}}}}}]},"spec":{"group":"kubeless.io","version":"v1beta1","names":{"plural":"functions","singular":"function","kind":"Function","listKind":"FunctionList"},"scope":"Namespaced","versions":[{"name":"v1beta1","served":true,"storage":true}],"conversion":{"strategy":"None"},"preserveUnknownFields":true},"status":{"conditions":[{"type":"NonStructuralSchema","status":"True","lastTransitionTime":"2021-11-04T14:56:34Z","reason":"Violations","message":"spec.preserveUnknownFields: Invalid value: true: must be false"},{"type":"NamesAccepted","status":"True","lastTransitionTime":"2021-11-04T14:56:34Z","reason":"NoConflicts","message":"no conflicts found"},{"type":"Established","status":"True","lastTransitionTime":"2021-11-04T14:56:34Z","reason":"InitialNamesAccepted","message":"the initial names have been accepted"}],"acceptedNames":{"plural":"functions","singular":"function","kind":"Function","listKind":"FunctionList"},"storedVersions":["v1beta1"]}}"

How to reproduce it (as minimally and precisely as possible):

kubectl create ns kubeless kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.8/kubeless-v1.0.8.yaml

Because of the failing cronjob-trigger-controller cronjob triggers are not triggering functions. However, cronjob triggers can be created and listed via kubeless trigger cronjob create -n <namespace> and kubeless trigger cronjob ls -n <namespace>.

Anything else we need to know?:

Might it, that the wrong cronjob-trigger-controller image is referenced in the v1.0.8 manifest file (the controller reports it has version 1.0.3 and not version 1.0.8)?

Environment:

  • Kubernetes version (use kubectl version): Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-06-16T12:59:11Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.5-3+83e2bb7ee39726", GitCommit:"83e2bb7ee3972654beca02a12a94777da22d6669", GitTreeState:"clean", BuildDate:"2021-09-28T15:36:44Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"linux/amd64"}

  • Kubeless version (use kubeless version): Kubeless version: v1.0.8

  • Cloud provider or physical cluster: Physical cluster (MicroK8s)

nkratzke avatar Nov 04 '21 16:11 nkratzke