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.
For debugging/testing, I built a custom release image, overriding the
machine-config-controllerimage pull specThis results in a failure of the MCO
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.