Description of problem: oc patch cannot update some fields of buildconfig Version-Release number of selected component (if applicable): openshift v1.0.6-266-gcfbe4fb oc v1.0.6-266-gcfbe4fb kubernetes v1.1.0-alpha.1-653-g86b4e77 How reproducible: Always Steps to Reproduce: 1.Launch openshift 2.Login, create a project and create applications 3.Check bc resource 1> $ oc get bc 2> $ oc get bc ruby-sample-build -t '{{ .spec.output.to.name }}' | grep '.' 4.Update field $ oc patch bc ruby-sample-build -p '{"spec":{"output":{"to":{"name":"origin-ruby-sample:tag1"}}}}' 5.Check the update $ oc get bc ruby-sample-build -t '{{ .spec.output.to.name }}' | grep '.' 6.Update other fields of bc, such as spec.source.git.uri Actual results: 3. 2> origin-ruby-sample:latest 4. Error from server: unable to find api field in struct BuildSpec for the json field "to" 6. Similar error: Error from server: unable to find api field in struct BuildSpec for the json field "git" Expected results: 4. "ruby-sample-build" patched 5. origin-ruby-sample:tag1 6. Should also succeed. Additional info: The above fields can be updated by 'oc edit bc'. oc patch can update some fields of buildconfig, such as metadata.labels.template. oc patch can update deep level field of deploymentconfig, such as spec.strategy.recreateParams.pre.failurePolic
See https://github.com/kubernetes/kubernetes/pull/14985 and https://github.com/openshift/origin/pull/4922
in the merge queue.
I checked on the version: oc/openshift v1.0.6-466-g72df0dc kubernetes v1.1.0-alpha.1-653-g86b4e77. The issue has been fixed, now oc patch can update "spec" sub-fields of buildconfig
Hi, it doesn't seem to work with source strategy: oc patch bc/cotd -p '{ "spec" : { "strategy" : { "type" : "Binary" }}}' buildconfig "cotd" not patched you can reproduce with: oc new-app openshift/php:5.6~https://github.com/devops-with-openshift/cotd and then: oc patch bc/cotd -p '{ "spec" : { "strategy" : { "type" : "Binary" }}}' However the workaround with oc replace works, so, the field must be editable: oc export bc/cotd | sed s/Source/Binary/ | oc replace -f -