Ansible: рдЬрдм 2.3 RC1 рдЦрдВрдб рдореЗрдВ 'рддрд╛рдирд╛рд╢рд╛рд╣ рд╡рд╕реНрддреБ' рдХреА рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 17 рдорд╛рд░реНрдЪ 2017  ┬╖  2рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ansible/ansible

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкреНрд░рдХрд╛рд░
  • рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ
рдШрдЯрдХ рдХрд╛ рдирд╛рдо

рдХреЛрд░

рдЙрддреНрддрд░ рд╕рдВрд╕реНрдХрд░рдг
ansible 2.3.0.0 (stable-2.3 923c9ef17c) last updated 2017/03/17 09:12:40 (GMT +1000)
  config file = /apps/dev/playbook/jordan/mr-ansible/ansible.cfg
  configured module search path = Default w/o overrides
  python version = 2.7.12 (default, Sep 23 2016, 14:23:49) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]
рд╡рд┐рдиреНрдпрд╛рд╕

рдорд╛рдирдХ

рдУрдПрд╕ / рдкрд░реНрдпрд╛рд╡рд░рдг

рдЖрд░рдПрдЪрдИрдПрд▓ 6.7

рд╕рд╛рд░рд╛рдВрд╢

рдпрд╣ рдПрдХ рдмрдЧ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдХреБрдЫ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдореИрдВ рджреВрд░ рд╣реЛ рдЧрдпрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди Ansible 2.3 RC1 рдХреЗ рд╕рд╛рде рдЕрдЧрд░ рдореИрдВ рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдкрдВрдЬреАрдХреГрдд рдЪрд░ (рдЬрдм рдПрдХ рдЦрдВрдб рдХреЗ рд╕рд╛рде) рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдмрд╛рдж рдореЗрдВ рдПрдХ рдЙрдк рддрд╛рдирд╛рд╢рд╛рд╣реА рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ 2.3 рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ рдЬрдмрдХрд┐ 2.2 рдореЗрдВ рдФрд░ рдиреАрдЪреЗ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЪрд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдмрд╛рдж рдХреЗ рдХрд╛рд░реНрдп рдХреА рдЬрд╛рдВрдЪ рд╣реЛрддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЪрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдк рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЙрджрд╛рд╣рд░рдг рдкреБрд╕реНрддрд┐рдХрд╛

---
- name: test
  hosts: localhost
  connection: local

  tasks:
  - name: module that won't run
    stat:
      path: /apps/tmp
    register: test
    when: False

  - name: debug of var
    debug:
      var: test

  - name: test with conditional
    debug:
      msg: A
    when: test is defined and test.stat.exists
рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

2.2.1.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп

ansible 2.2.1.0
  config file = /cygdrive/d/dev/jordan/ansible.cfg
  configured module search path = Default w/o overrides
PLAY [test] ********************************************************************

TASK [setup] *******************************************************************
ok: [localhost]

TASK [module that won't run] ***************************************************
task path: /cygdrive/d/dev/jordan/2.3tests.yml:7
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional check failed", "skipped": true}

TASK [debug of var] ************************************************************
task path: /cygdrive/d/dev/jordan/2.3tests.yml:13
ok: [localhost] => {
    "test": {
        "changed": false,
        "skip_reason": "Conditional check failed",
        "skipped": true
    }
}

TASK [test with conditional] ***************************************************
task path: /cygdrive/d/dev/jordan/2.3tests.yml:17
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional check failed", "skipped": true}

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо
- рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реБрдЖ рдерд╛? рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд╛рдЪрд╛рд▓рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдВ (-vvvv)

PLAY [test] ************************************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************************
Friday 17 March 2017  15:20:42 +1000 (0:00:00.039)       0:00:00.039 **********
ok: [localhost]
META: ran handlers

TASK [module that won't run] *******************************************************************************************************************************************************
task path: /apps/dev/playbook/jordan/mr-ansible/test.yml:7
Friday 17 March 2017  15:20:44 +1000 (0:00:01.093)       0:00:01.133 **********
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False", "skipped": true}

TASK [debug of var] ****************************************************************************************************************************************************************
task path: /apps/dev/playbook/jordan/mr-ansible/test.yml:13
Friday 17 March 2017  15:20:44 +1000 (0:00:00.012)       0:00:01.145 **********
ok: [localhost] => {
    "changed": false,
    "test": {
        "changed": false,
        "skip_reason": "Conditional result was False",
        "skipped": true
    }
}

TASK [test with conditional] *******************************************************************************************************************************************************
task path: /apps/dev/playbook/jordan/mr-ansible/test.yml:17
Friday 17 March 2017  15:20:44 +1000 (0:00:00.034)       0:00:01.180 **********
fatal: [localhost]: FAILED! => {"failed": true, "msg": "The conditional check 'test is defined and test.stat.exists' failed. The error was: error while evaluating conditional (test is defined and test.stat.exists): 'dict object' has no attribute 'stat'\n\nThe error appears to have been in '/apps/dev/playbook/jordan/mr-ansible/test.yml': line 17, column 5, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n  - name: test with conditional\n    ^ here\n"}

PLAY RECAP *************************************************************************************************************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=1

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╕рдВрднрд╡ рдЧрд▓рддрдлрд╣рдореА

рдирдорд╕реНрддреЗ!

рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред

рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЯрд┐рдХрдЯ рдХреБрдЫ рдЧрд▓рдд рд╕рдордЭрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЪреАрдЬ рдмрддрд╛рдИ рдЧрдИ рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝реА рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред

рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╡рд┐рд╖рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдпрд╣рд╛рдБ рднреА рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХреЗ рд╕рд╛рде рдХреБрдЫ рдФрд░ рдорджрдж рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЬрдм рд╕реЗ рдЖрдк 'рд╕реНрдЯреЗрдЯ' рдХрд╛рд░реНрдп рдХреЛ рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рддрдм рднреА рдЖрдкрдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдбрд┐рдХреНрд╢рдирд░реА рдХреЗ рд░реВрдк рдореЗрдВ test рдорд┐рд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ stat рдХреБрдВрдЬреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЗрд╕реАрд▓рд┐рдП рдЖрдкрдХреЛ CORRECT рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП:

  when: test is defined and 'stat' in test and test.stat.exists

рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдЖрдкрдХреА рд░реБрдЪрд┐ Ansible рдореЗрдВ!

рд╕рднреА 2 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╕рдВрднрд╡ рдЧрд▓рддрдлрд╣рдореА

рдирдорд╕реНрддреЗ!

рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред

рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЯрд┐рдХрдЯ рдХреБрдЫ рдЧрд▓рдд рд╕рдордЭрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЪреАрдЬ рдмрддрд╛рдИ рдЧрдИ рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝реА рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред

рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╡рд┐рд╖рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдпрд╣рд╛рдБ рднреА рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХреЗ рд╕рд╛рде рдХреБрдЫ рдФрд░ рдорджрдж рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЬрдм рд╕реЗ рдЖрдк 'рд╕реНрдЯреЗрдЯ' рдХрд╛рд░реНрдп рдХреЛ рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рддрдм рднреА рдЖрдкрдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдбрд┐рдХреНрд╢рдирд░реА рдХреЗ рд░реВрдк рдореЗрдВ test рдорд┐рд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ stat рдХреБрдВрдЬреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЗрд╕реАрд▓рд┐рдП рдЖрдкрдХреЛ CORRECT рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП:

  when: test is defined and 'stat' in test and test.stat.exists

рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдЖрдкрдХреА рд░реБрдЪрд┐ Ansible рдореЗрдВ!

рдмрд┐рд╕реНрдб рдХрдорд┐рдЯрдореЗрдВрдЯ рдЬрд┐рд╕рдиреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ https://github.com/ansible/ansible/commit/81aa12eb1b5a2b50ac9234ca0b05c015af88a845
рд╕рдВрдмрдВрдзрд┐рдд рдЕрдВрдХ https://github.com/ansible/ansible/issues/18514

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

alberttwong picture alberttwong  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aioue picture aioue  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

RaymiiOrg picture RaymiiOrg  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

robbwagoner picture robbwagoner  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

greggilbert picture greggilbert  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ