cloudstateio / cloudstate

Distributed State Management for Serverless
https://cloudstate.io
Apache License 2.0
763 stars 97 forks source link

Additional conditions not managed properly when reconciling StatefulService #536

Open marcoderama opened 3 years ago

marcoderama commented 3 years ago

@jroper observes:

I created a StatefulService manually with kubectl, the resource was created successfully, however, when the operator tried to reconcile it, this exception was thrown:

2021-02-01T23:35:43.929Z    ERROR   controller  Reconciler error    {"reconcilerGroup": "cloudstate.io", "reconcilerKind": "StatefulService", "controller": "statefulservice", "name": "crdts", "namespace": "3e8cd683-4c57-418e-9d56-cbfc665dd90c", "error": "StatefulService.cloudstate.io \"crdts\" is invalid: status.conditions.lastTransitionTime: Invalid value: \"null\": status.conditions.lastTransitionTime in body must be of type string: \"null\""}
github.com/go-logr/zapr.(*zapLogger).Error
    /workspace/vendor/github.com/go-logr/zapr/zapr.go:128
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
    /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:237
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
    /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:209
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker
    /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:188
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1
    /workspace/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:155
k8s.io/apimachinery/pkg/util/wait.BackoffUntil
    /workspace/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:156
k8s.io/apimachinery/pkg/util/wait.JitterUntil
    /workspace/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133
k8s.io/apimachinery/pkg/util/wait.Until
    /workspace/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90

This was when creating a StatefulStore with no store type specified.