ansible 2.2.0.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
рдЙрдмрдВрдЯреВ 14.04
рдЙрдмрдВрдЯреВ 16.04
int рд╡реИрд░рд┐рдПрдмрд▓ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рджреМрд░рд╛рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ
- hosts: localhost
vars:
a: 1
b: "{{ a }}"
c: "{{ a+1 }}"
tasks:
- debug: msg="{{ a + 0 }}"
- debug: msg="{{ b + 0 }}"
- debug: msg="{{ c + 0 }}"
ignore_errors: yes
- debug: msg="{{ c + '0' }}"
3 рдХрд╛рд░реНрдп рдХреЛ рдЗрдВрдЯ 2 рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ 4 рд╡реЗрдВ рдХрд╛рд░реНрдп рдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрд╕рдлрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рддреАрд╕рд░рд╛ рдХрд╛рд░реНрдп рд╡рд┐рдлрд▓ рд░рд╣рд╛
$ ansible-playbook a.yml -vvvvv
Using /etc/ansible/ansible.cfg as config file
[WARNING]: provided hosts list is empty, only localhost is available
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/dist-packages/ansible/plugins/callback/__init__.pyc
PLAYBOOK: a.yml ****************************************************************
1 plays in a.yml
PLAY [localhost] ***************************************************************
TASK [setup] *******************************************************************
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/core/system/setup.py
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: yurii
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python && sleep 0'
ok: [localhost]
TASK [debug] *******************************************************************
task path: /home/yurii/sandbox/ans/a.yml:7
ok: [localhost] => {
"msg": "1"
}
TASK [debug] *******************************************************************
task path: /home/yurii/sandbox/ans/a.yml:8
ok: [localhost] => {
"msg": "1"
}
TASK [debug] *******************************************************************
task path: /home/yurii/sandbox/ans/a.yml:9
fatal: [localhost]: FAILED! => {
"failed": true,
"msg": "Unexpected templating type error occurred on ({{ c + 0 }}): coercing to Unicode: need string or buffer, int found"
}
...ignoring
TASK [debug] *******************************************************************
task path: /home/yurii/sandbox/ans/a.yml:11
ok: [localhost] => {
"msg": "20"
}
PLAY RECAP *********************************************************************
localhost : ok=5 changed=0 unreachable=0 failed=0
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдЬрд┐рдиреНрдЬрд╛ рдордЬрд╝рд╛ рд╣реИ- рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╣рдореЗрд╢рд╛ var рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рдирд╣реАрдВ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди -e
var, YAML рдЯрд╛рдЗрдк рдЗрдВрдлрд╝реЗрдХреНрд╢рди рд╕реЗ рдирд╣реАрдВ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рдореЗрд╢рд╛ рддрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ), рдЖрдкрдХреЛ рдЬреЛрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП / рдЧрдгрд┐рдд рдЧрдгрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬреЛрд░ рджреЗрдирд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ:
- debug: msg="{{ c | int + 0 }}"
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдЬрд┐рдиреНрдЬрд╛ рдордЬрд╝рд╛ рд╣реИ- рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╣рдореЗрд╢рд╛ var рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рдирд╣реАрдВ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди
-e
var, YAML рдЯрд╛рдЗрдк рдЗрдВрдлрд╝реЗрдХреНрд╢рди рд╕реЗ рдирд╣реАрдВ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рдореЗрд╢рд╛ рддрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ), рдЖрдкрдХреЛ рдЬреЛрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП / рдЧрдгрд┐рдд рдЧрдгрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬреЛрд░ рджреЗрдирд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ: