Skip to content

operator reports status Failed when operand version doesn't match operator version #421

@sjenning

Description

@sjenning

For debugging/testing, I built a custom release image, overriding the machine-config-controller image pull spec

oc adm release new -s https://api.ci.openshift.org/ --from-image-stream=origin-v4.0 -n openshift --to-image=quay.io/sjenning/origin-release:v4.0 --to-image-base=registry.svc.ci.openshift.org/openshift/origin-v4.0:cluster-version-operator machine-config-controller=quay.io/sjenning/machine-config-controller:latest

This results in a failure of the MCO

$ oc get clusteroperators machine-config -oyaml
apiVersion: config.openshift.io/v1
kind: ClusterOperator
metadata:
  creationTimestamp: 2019-02-13T16:39:19Z
  generation: 1
  name: machine-config
  resourceVersion: "10148"
  selfLink: /apis/config.openshift.io/v1/clusteroperators/machine-config
  uid: e905907c-2fad-11e9-89a3-02f7cc37a53c
spec: {}
status:
  conditions:
  - lastTransitionTime: 2019-02-13T16:39:19Z
    status: "False"
    type: Available
  - lastTransitionTime: 2019-02-13T16:39:19Z
    message: Progressing towards 3.11.0-619-g975a0c93-dirty
    status: "True"
    type: Progressing
  - lastTransitionTime: 2019-02-13T16:50:03Z
    message: 'Failed when progressing towards 3.11.0-619-g975a0c93-dirty because:
      error syncing: timed out waiting for the condition during syncRequiredMachineConfigPools:
      pool master has not progressed to latest configuration: controller version mismatch
      for master-235e3f67d027fee30a461ca75f1f2914 expected 3.11.0-619-g975a0c93-dirty
      has 3.11.0-614-gc3638603-dirty'
    reason: 'error syncing: timed out waiting for the condition during syncRequiredMachineConfigPools:
      pool master has not progressed to latest configuration: controller version mismatch
      for master-235e3f67d027fee30a461ca75f1f2914 expected 3.11.0-619-g975a0c93-dirty
      has 3.11.0-614-gc3638603-dirty'
    status: "True"
    type: Failing
  extension: {}
  relatedObjects: null
  versions: null

It seems that the operator expects each operand to match its own version. This should not be a constraint. All that is required is that the image pull spec match the pull spec given to MCO by the CVO.

Metadata

Metadata

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