Skip to content
This repository was archived by the owner on Dec 15, 2021. It is now read-only.
This repository was archived by the owner on Dec 15, 2021. It is now read-only.

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

@nkratzke

Description

@nkratzke

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions