openshift/sriov-network-operator

Operator deployment cannot create NodeState dicovery configuration

vtlrazin opened this issue · 1 comments

Deployment operator on vanilla K8s cluster failed without creating sriovnetworknodestates configurations for each worker nodes in K8s cluster.

Deployment stuck on state:

kubectl -n sriov-network-operator get all
NAME                                          READY   STATUS    RESTARTS   AGE
pod/sriov-network-operator-69465dd48f-zj4fv   1/1     Running   0          12m

NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/sriov-network-operator   1/1     1            1           12m

NAME                                                DESIRED   CURRENT   READY   AGE
replicaset.apps/sriov-network-operator-69465dd48f   1         1         1       12m

Created empty configuration files:

kubectl  -n sriov-network-operator get sriovnetworknodestates.sriovnetwork.openshift.io 
NAME    AGE
node2   12m
node3   12m
node4   12m
node5   12m

Config for node2:

kubectl  -n sriov-network-operator get sriovnetworknodestates.sriovnetwork.openshift.io node2 -o yaml
apiVersion: sriovnetwork.openshift.io/v1
kind: SriovNetworkNodeState
metadata:
  creationTimestamp: "2020-11-08T13:06:22Z"
  generation: 2
  managedFields:
  - apiVersion: sriovnetwork.openshift.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:ownerReferences:
          .: {}
          k:{"uid":"5f271b74-adfa-4958-bf1f-49d1c8981b08"}:
            .: {}
            f:apiVersion: {}
            f:blockOwnerDeletion: {}
            f:controller: {}
            f:kind: {}
            f:name: {}
            f:uid: {}
      f:spec:
        .: {}
        f:dpConfigVersion: {}
      f:status: {}
    manager: sriov-network-operator
    operation: Update
    time: "2020-11-08T13:16:22Z"
  name: node2
  namespace: sriov-network-operator
  ownerReferences:
  - apiVersion: sriovnetwork.openshift.io/v1
    blockOwnerDeletion: true
    controller: true
    kind: SriovNetworkNodePolicy
    name: default
    uid: 5f271b74-adfa-4958-bf1f-49d1c8981b08
  resourceVersion: "1672926"
  selfLink: /apis/sriovnetwork.openshift.io/v1/namespaces/sriov-network-operator/sriovnetworknodestates/node2
  uid: 88b19ee6-1b7d-4e32-88f9-901e04ee1f8f
spec:
  dpConfigVersion: "1670976"

Logs file from operator pod is attached
sriov-operator.log

Thanks

from the log:
2020-11-08T13:06:22.492Z INFO controllers.SriovOperatorConfig.syncWebhookObjs SR-IOV Network Resource Injector and Operator Webhook are disabled. 2020-11-08T13:06:22.492Z INFO controllers.SriovOperatorConfig.syncCAConfigMap Reconciling CA {"ConfigMap": "sriov-network-operator/injector-service-ca"} 2020-11-08T13:06:22.492Z ERROR controllers.SriovOperatorConfig.syncCAConfigMap Couldn't get caBundle ConfigMap {"name": "injector-service-ca", "error": "ConfigMap \"injector-service-ca\" not found"} github.com/go-logr/zapr.(*zapLogger).Error /go/src/github.com/openshift/sriov-network-operator/vendor/github.com/go-logr/zapr/zapr.go:128 github.com/openshift/sriov-network-operator/controllers.(*SriovOperatorConfigReconciler).syncCAConfigMap /go/src/github.com/openshift/sriov-network-operator/controllers/sriovoperatorconfig_controller.go:143 github.com/openshift/sriov-network-operator/controllers.(*SriovOperatorConfigReconciler).Reconcile /go/src/github.com/openshift/sriov-network-operator/controllers/sriovoperatorconfig_controller.go:100 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler /go/src/github.com/openshift/sriov-network-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:235 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem /go/src/github.com/openshift/sriov-network-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:209 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker /go/src/github.com/openshift/sriov-network-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:188 k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1 /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:155 k8s.io/apimachinery/pkg/util/wait.BackoffUntil /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:156 k8s.io/apimachinery/pkg/util/wait.JitterUntil /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 k8s.io/apimachinery/pkg/util/wait.Until /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90 2020-11-08T13:06:22.492Z ERROR controller Reconciler error {"reconcilerGroup": "sriovnetwork.openshift.io", "reconcilerKind": "SriovOperatorConfig", "controller": "sriovoperatorconfig", "name": "default", "namespace": "sriov-network-operator", "error": "ConfigMap \"injector-service-ca\" not found"} github.com/go-logr/zapr.(*zapLogger).Error

looking at sriovoperatorconfig controller:

I think it should sync webhook related CAs only if webhooks are enabled.