-
Bug
-
Resolution: Fixed
-
Critical
-
None
-
Jenkins 2.73.1, OpenShift Origin v3.6.0+c4dd4cf, CentOS7 64bit, OpenJDK RE 1.8.0_144-b01
The OpenShift Sync plugin version 0.1.29 is throwing errors in the Jenkins log, it is referring to
No field label conversion function found for version: build.openshift.io/v1
Steps to reproduce:
1 Use OpenShift Origin v3.6.0+c4dd4cf
2 Let it spawn up a jenkins instance, it will install the latest plugin versions automatically or manually:
2.1 Install OpenShift Pipeline Plugin 1.0.52
2.2 Install OpenShift Sync plugin 0.1.29
3 Create an OpenShift pipeline
4 Start the pipeline in OpenShift Origin
5 It will stay on status "New" indefinitely.
6 Jenkins system logs report errors like reported above
**Workaround:
1 Uninstall Openshift Pipeline plugin
2 Uninstall OpenShift Sync plugin
3 Install OpenShift Sync plugin 0.1.28
4 Install OpenShift Pipeline plugin 1.0.52
5 Restart Jenkins
6 Pipeline build queue is picked up again
Full stacktrace:
Failed to load initial Builds: io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://kubernetes.default/apis/build.openshift.io/v1/namespaces/ci/builds?fieldSelector=status%3DNew. Message: No field label conversion function found for version: build.openshift.io/v1. Received status: Status(apiVersion=v1, code=400, details=null, kind=Status, message=No field label conversion function found for version: build.openshift.io/v1, metadata=ListMeta(resourceVersion=null, selfLink=null, additionalProperties={}), reason=BadRequest, status=Failure, additionalProperties={}). io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://kubernetes.default/apis/build.openshift.io/v1/namespaces/ci/builds?fieldSelector=status%3DNew. Message: No field label conversion function found for version: build.openshift.io/v1. Received status: Status(apiVersion=v1, code=400, details=null, kind=Status, message=No field label conversion function found for version: build.openshift.io/v1, metadata=ListMeta(resourceVersion=null, selfLink=null, additionalProperties={}), reason=BadRequest, status=Failure, additionalProperties={}). at io.fabric8.kubernetes.client.dsl.base.OperationSupport.requestFailure(OperationSupport.java:470) at io.fabric8.kubernetes.client.dsl.base.OperationSupport.assertResponseCode(OperationSupport.java:409) at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:379) at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:343) at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:327) at io.fabric8.kubernetes.client.dsl.base.BaseOperation.list(BaseOperation.java:605) at io.fabric8.kubernetes.client.dsl.base.BaseOperation.list(BaseOperation.java:70) at io.fabric8.jenkins.openshiftsync.BuildWatcher$1.doRun(BuildWatcher.java:97) at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:51) at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:58) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
This bug blocks pipeline builds
This is being worked via https://github.com/openshift/jenkins-sync-plugin/issues/173
Appears there was a 3.6 OpenShift bug that was unearthed when sync plugin upgraded the fabric8 client version. The OpenShift bug is fixed in recent 3.7 builds (3.7 is still under development).
That said, we need to decide if/how we can support 3.6. The fallback will be to downgrade the fabric8 version.