- name: Get Service Account Token
shell: |
/usr/local/bin/oc get sa/jenkins -n {{ namespace }} --template='{{range .secrets}}{{ .name }} {{end}}' | xargs -n 1 oc get secret --template='{{ if .data.token }}{{ .data.token }}{{end}}' | head -n 1 | base64 -D -
register: sa_jenkins_token
fatal: [10.8.244.145]: FAILED! => {"failed": true, "msg": "template error while templating string:
unexpected '.'. String: /usr/local/bin/oc get sa/jenkins -n {{ namespace }} --template='{{range .secrets}}{{ .name }} {{end}}' | xargs -n 1 oc get secret --template='{{ if .data.token }}{{ .data.token }}{{end}}' | head -n 1 | base64 -D -"}
oc get sa/jenkins -n infra --template='{{range .secrets}}{{ .name }} {{end}}' | xargs -n 1 oc get secret --template='{{ if .data.token }}{{ .data.token }}{{end}}' | head -n 1 | base64 -D ---
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+unsubscribe@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/de427462-21a7-4a8c-8000-3479de745ecb%40googlegroups.com.
The problem is that you seem to be using templating that the `oc` command will use that overlaps with template syntax of jinja.You will likely need to wrap your command in {% raw %}command with {{ here }}{% endraw %}On Fri, Oct 27, 2017 at 11:26 AM, <cmou...@redhat.com> wrote:The shell command that I want to execute isoc get sa/jenkins -n infra --template='{{range .secrets}}{{ .name }} {{end}}' | xargs -n 1 oc get secret --template='{{ if .data.token }}{{ .data.token }}{{end}}' | head -n 1 | base64 -D -
and I will get as response a tokenSo the {{ }} characters that you see within my command are used to extract info using openshift oc templateI will change my syntax to use jsonpath
On Friday, October 27, 2017 at 5:56:24 PM UTC+2, cmou...@redhat.com wrote:HiHow can I avoid that the template engine throws this error ?Task- name: Get Service Account Token
shell: |
/usr/local/bin/oc get sa/jenkins -n {{ namespace }} --template='{{range .secrets}}{{ .name }} {{end}}' | xargs -n 1 oc get secret --template='{{ if .data.token }}{{ .data.token }}{{end}}' | head -n 1 | base64 -D -
register: sa_jenkins_token
Errorfatal: [10.8.244.145]: FAILED! => {"failed": true, "msg": "template error while templating string:
unexpected '.'. String: /usr/local/bin/oc get sa/jenkins -n {{ namespace }} --template='{{range .secrets}}{{ .name }} {{end}}' | xargs -n 1 oc get secret --template='{{ if .data.token }}{{ .data.token }}{{end}}' | head -n 1 | base64 -D -"}
RegardsCharles
--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/de427462-21a7-4a8c-8000-3479de745ecb%40googlegroups.com.