Hide Forgot
Description of problem: it seems to me that if a template has a boolean value, for which it is acceptable to not use the string format (i.e.: true vs "true") in yaml, when the template it processed and turned into json, the value is not correctly ported to the string format. subsequent processing of the created json fail. Version-Release number of selected component (if applicable): 3.3 How reproducible: reliably Steps to Reproduce: oc process -f https://raw.githubusercontent.com/raffaelespazzoli/openshift-enablement-exam/master/misc/egress/egress_err.yaml -v EGRESS_SOURCE=10.128.0.12,EGRESS_GATEWAY=1.2.3.4,EGRESS_DESTINATION=5.6.7.8 | oc create -f - note that the problem is in this line: annotations: pod.network.openshift.io/assign-macvlan: true Actual results: CLI error Expected results: CLI command executes correctly
That field is not a boolean field, annotations are strings. non-string values are not valid. and that's not specific to templates, you'd have the same problem trying to create any object with that annotation.
I copied that line from the documentation, so perhaps the documentation should be updated: https://docs.openshift.com/container-platform/3.3/admin_guide/managing_pods.html#admin-guide-controlling-egress-traffic
because "true" is a special value in yaml, it's getting converted incorrectly when kube converts to json. you're correct that the doc needs to be updated.
This has been fixed in the docs for a long time now