$ ansible --version
ansible 2.3.0 (devel a8910e78ca) last updated 2017/03/08 02:46:53 (GMT -500)
config file =
configured module search path = Default w/o overrides
python version = 2.7.10 (default, Jul 30 2016, 19:40:32) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]
рд╢реЗрдпрд░ ansible.cfg
рдкреНрд░рдмрдВрдзрди рдореЗрдЬрдмрд╛рди macOS 10.12.3
рдЯрд╛рд╕реНрдХ рдореИрдВ 7 рдорд╣реАрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдлреЗрдВрдХрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред
- name: install powershell
win_chocolatey:
name: '{{ item }}'
state: 'present'
upgrade: True
with_items:
- "powershell"
register: check_powershell5
when: "{{ ansible_PSVersionTable.Major|int < 5 }}"
tags: win_powershell
рдХрд╛рд░реНрдп рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдмрд┐рдирд╛ рдЪрд▓реЗрдЧрд╛
TASK [win_powershell : install powershell] *************************************
[WARNING]: when statements should not include jinja2 templating delimiters
such as {{ }} or {% %}. Found: {{ ansible_PSVersionTable.Major|int < 5 }}
рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ 2.3 рд░рд┐рд▓реАрдЬ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдЪреЗрддрд╛рд╡рдиреА рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ jinja2 рдбреЗрд▓рд┐рдорд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП:
when: ansible_PSVersionTable.Major|int < 5
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдФрд░ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред
рдЬрдм рдпрд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдПрдХ рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ рднреА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдЯрдХреЛрдВ рдореЗрдВ рдкрд░рд╕реНрдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рддреЛ рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВред
рдЙрджрд╛рд╣рд░рдг: mycondition: ansible_PSVersionTable.Major|int < 5
рдХрд╛ рдЙрдкрдпреЛрдЧ when: mycondition
рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
-> рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ mycondition
рдореВрд▓реНрдпрд╛рдВрдХрди / рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдХрд╛рд░реНрдп mycondition: "{{ ansible_PSVersionTable.Major|int < 5 }}"
рдпрд╛ when: "{{ mycondition }}"
рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдЙрдкрд░реЛрдХреНрдд рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реЛрдВрдЧреЗред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
when: "(ansible_PSVersionTable.Major|int < 5) and ('Microsoft Windows 7' in ansible_distribution)"
рд╕рд╛рде рдореЗрдВ
$ ansible --version
ansible 2.4.0 (devel 53c52cf65f) last updated 2017/03/30 07:29:39 (GMT -500)
config file =
configured module search path = [u'/Users/tanner/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
python version = 2.7.10 (default, Jul 30 2016, 19:40:32) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]
рд╡рд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдм рд╣рд╛рд▓рдд рдХреЛ рдПрдХ рдЪрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
ansible_PSVersionTable рдПрдХ рдХрд╕реНрдЯрдо рддрдереНрдп рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рд╕рднреА рд╡рд┐рдВрдбреЛ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕реНрдерд┐рддрд┐ true
):
mycond: "(ansible_PSVersionTable.Major|int < 5) and ('Microsoft Windows 7' in ansible_distribution)"
...
when: mycond
рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдкрдХреЛ "{{...}}" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА - рдЗрд╕рдХрд╛ рдПрдХрдорд╛рддреНрд░ 'рдЬрдм' рд╕реНрдерд┐рддрд┐ рдЬрд╣рд╛рдВ "{{....}}" рдирд┐рд╣рд┐рдд рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред
рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ | рд╡рд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреВрд▓ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рдмреВрд▓рд┐рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣реА рдореИрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдБ ... рдЖрдкрдХреЛ рдпрд╛ рддреЛ "{{...}}" рдЪрд░ рдШреЛрд╖рдгрд╛ рдХреЗ рднреАрддрд░ рдпрд╛ рдЬрдм рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рд╕рд╣реА рдврдВрдЧ рд╕реЗ) рдЕрдиреНрдпрдерд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдФрд░ рдлрд┐рд░ рдЖрдкрдХреЛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓реЗрдЧреАред
рдЖрдк рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ:
- set_fact: content1="{{ var1.stdout }}" content2="{{ var2.stdout }}"
рдФрд░ рддреБрд▓рдирд╛ рдХрд░реЗрдВред
рд╕рдВрднрд╡рддрдГ # реирейрелред рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛
рдореИрдВ рднреА рдЗрд╕рд╕реЗ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рд╣реВрдВред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдм рд╣рдо "{{ myvar }}"
рдпрд╛ {{ myvar }}
рдмрдЬрд╛рдп myvar
рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕реЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдЕрднреА рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
when: myvar.stdout != ansible_date_time.date
^ рдпрд╣ рд╡рд░реНрддрдорд╛рди рддрд┐рдерд┐ (YYYY-MM-DD) рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди jinja2 рдХреБрдЫ рдХреЗ рд╕рд╛рде рд╕реАрдорд╛рдВрдХрдХ:
- set_fact:
ansible_date: "{{ ansible_date_time.date }}"
рдПрдХ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
- name: "TEST: The files directory should have correct ownership"
shell: stat -c %U:%G {{ files_dir }}
register: styles_dir_ownership
changed_when: styles_dir_ownership.stdout != "{{ user }}:{{ apache_user }}"
failed_when: styles_dir_ownership.stdout != "{{ user }}:{{ apache_user }}"
рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ user:apache_user
рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдПрдХ рдЙрдкрдирд┐рд╡реЗрд╢ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрджрд╛ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рд╣реИ
- set_fact:
expected_ownership: "{{ user }}:{{ apache_user }}"
рддреЛ рдореЗрд░рд╛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ: рдореИрдВ рдЙрди 2 рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдЦрд╛рддрд╛ рд╣реВрдБ рдЕрдЧрд░ jinja2 delimiters рдХреЛ рдЕрдВрд╕рд╛рд░реА 2.3 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдХреНрдпрд╛ set_fact
рдЕрдм рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ?
рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдЬреЛрдбрд╝рдирд╛:
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
to_be_removed_users:
- name: 'adm'
remove: False
- name: 'ftp'
remove: True
- name: 'games'
remove: False
- name: 'gopher'
remove: True
- name: 'operator'
remove: False
- name: 'uucp'
remove: True
рддрдм рдирд┐рдореНрди рдХрд╛рд░реНрдп рдЪреЗрддрд╛рд╡рдиреА рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдЗрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛рдП редрдирд╛рдо рд╕реВрдЪреА рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ
`` `
рдирд╛рдо: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
getent:
рдбреЗрдЯрд╛рдмреЗрд╕: рдкрд╛рд╕рд╡рд╛рд░реНрдб
рдЯреИрдЧ:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
@PhilEv , рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рд╕рд╣реА рдЬрд╛рдБрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ):
`` `---
- name: Favourite colours!
command: echo "I like {{ item }}"
# when: COLOURS.{{item}} is defined and COLOURS.{{item}}
when: item in COLOURS and COLOURS[item]
with_items:
- "GREEN"
- "BLUE"
- "PURPLE"
- "YELLOW"```
рд╣рдо рдЗрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рднреА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ when
рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ jinja рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рд╣рдЯрд╛ рд░рд╣реЗ рд╣реИрдВ:
- name: Check if redis is installed
shell: redis-server --version || /bin/true
register: redis_is_installed
- include: redis_build.yml
when: "redis_is_installed.stdout.find('v={{ redis_version }}') == -1"
рдЗрд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реБрдЭрд╛рд╡?
@jsuter
when: "redis_is_installed.stdout.find('v=' ~ redis_version) == -1"
@sivel рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛, рдзрдиреНрдпрд╡рд╛рджред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯрд┐рд▓реНрдб рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдбреЙрдХреНрд╕ рдирд╣реАрдВ рдорд┐рд▓реЗрдВрдЧреЗ рдФрд░ рдкрдврд╝рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред
@jsuter http://jinja.pocoo.org/docs/dev/templates/#other -operators
~
рд╕рднреА рдСрдкрд░реЗрдВрдбреНрд╕ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдореЗрдЯрддрд╛ рд╣реИред{{"рд╣реИрд▓реЛ" ~ рдирд╛рдо ~ "!" }} рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ (рдорд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдирд╛рдо 'рдЬреЙрди' рдкрд░ рд╕реЗрдЯ рд╣реИ) рд╣реИрд▓реЛ рдЬреЙрди!
рдзрдиреНрдпрд╡рд╛рдж @streetster рдХреЛ ansible group рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ (рдзрдиреНрдпрд╡рд╛рдж @sivel рдФрд░ рдЬреЛрд╢)
when: getent_passwd[item['name']] is defined
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдЕрдЪреНрдЫрд╛ рдерд╛
рдореИрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рдирдП рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рд╕рд╛рд░реНрдердХ рдкреНрд▓реЗрдмреБрдХ рдХреИрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред Ansible рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЪреАрдЬреЛрдВ рдХреЛ рднреВрдорд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдореМрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рднрд╛рд╡реБрдХ рд╣реЛрдиреЗ рдкрд░ рдмрджрд╕реВрд░рдд рдХреЗ рд╕рд╛рде рдлреНрд▓реИрдЯ рдкреНрд▓реЗрдмреБрдХ рдирд╣реАрдВ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВред
рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ:
рдЪреВрдХ
auth_service : none
auth_service_aws : aws
auth_service_is_aws: '{{ (auth_service == auth_service_aws) | bool }}'
рдореЗрдЯрд╛
dependencies:
- { role: apollo/auth/aws, when: auth_service_is_aws }
рдЪреЗрддрд╛рд╡рдиреА рдлреЗрдВрдХрддрд╛ рд╣реИтАжред
рдФрд░ рдЕрдВрдд рдореЗрдВ (рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ!)
рдореВрд▓ рднреВрдорд┐рдХрд╛ - рдЪреВрдХ
bootstrap_ping : true
рдореВрд▓ рднреВрдорд┐рдХрд╛ - рдореЗрдЯрд╛
dependencies:
- { role: apollo/platform/ping, ping: '{{ bootstrap_ping }}' }
рдмрд╛рд▓ рднреВрдорд┐рдХрд╛ - рдХрд╛рд░реНрдп
- name: execute
when: ping
win_ping:
рдореБрдЭреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдмреЗрд╡рдХреВрдл рд╣реЛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╛ рддреЛ рдХреБрдЫ рд╕рд░рд▓ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╡рд╛рдкрд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдореБрдЭреЗ рднреА рдЙрд▓рдЭрди рдореЗрдВ рд░рдВрдЧред рдЕрдиреНрд╕рд┐рдмрд▓ рдореЗрдВ рдмрд╛рдХреА рд╕рдм, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрд┐рдиреНрдЬрд╛ рдбреЗрд▓рд┐рдореЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред "Change_when" рдФрд░ рдмрд╛рдХреА рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ? рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдмреЛрд▓рдирд╛ рдЬреЛ рдЕрдВрд╕рд┐рдмрд▓ рд╕реАрдЦ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдкреАрдЖрд░ рдХреЗ рдКрдкрд░ рджреЗрдЦреЗрдВред рдореИрдВ рд╢рд╛рдпрдж рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдордЫрд▓реА рдХреЛ рдердкреНрдкрдбрд╝ рдорд╛рд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд▓реЛрдЧреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдирд╛ рд╕рдорд░реНрдерди рджрд┐рдЦрд╛рдПрдВ рдФрд░ рд╢рд╛рдпрдж рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдпрд╛ рддреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рджреНрд╡рд╛рд░рд╛)ред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП! рд╣рдо рдЬрд╛рджреВрдЧрд░ рдирд╣реАрдВ рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рджред
рдореБрдЭреЗ рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рдЕрдм рд╕рднреА рдЬрдЧрд╣ рдорд┐рд▓ рдЬрд╛рддреА рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рднреВрдорд┐рдХрд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднреВрдорд┐рдХрд╛рдУрдВ рдореЗрдВ 'рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд' рд╣реИ рдЬрдм рдЗрд╕ рдЪрд░ рдХреЛ meta/main.yml
рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдХреБрдЫ рдЪрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ
dependencies:
- role: generic_role
_configuration_needed: "{{custom_configuration_needed}}"
custom_configuration_needed
рддрдм рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ рдпрд╛ рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛ рд╕рд╣рд┐рдд рдЬрдм рдкреНрд░рддрд┐-рд╣реЛрд╕реНрдЯ рдпрд╛ рдкреНрд░рддрд┐-рд╕рдореВрд╣ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдлрд┐рд░, рд╕рд╛рдорд╛рдиреНрдп рднреВрдорд┐рдХрд╛ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрджрдо рд╣реИрдВ:
- name: "configure package if necessary"
include: configure.yml
when: _configuration_needed
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдм рдореИрдВ рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд configure.yml
" рдореЗрдВ рд╣рд░ рдПрдХ рдХрджрдо рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдБ:
[WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{custom_configuration_needed}}
```
This is due to the implicit 'when' clause that's added to every step in that included file, but I'm not sure how to solve this-one. The `_configuration_needed` isn't the only case, it's just the one spamming most warnings right now. Now for this `_configuration_needed` I tried defining the dependency like this:
рдирд┐рд░реНрднрд░рддрд╛:
рдпрд╣ рддрдм рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрдм рд╕реЗ рдореИрдВ рдЙрд╕ _configuration_needed рдЪрд░ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕ "custom_configuration_needed" рдХреЛ (рдПрдХ рдЧреИрд░-рд░рд┐рдХреНрдд) рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЬреЛ рд╣рдореЗрд╢рд╛ "True" рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдпрд╛ рд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдПред
рдпрджрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рднреА рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ - рдЕрднреА рджрдлрди рдХрд░реЗрдВ, рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, 3 рдирдВрдмрд░ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдмреЛрд░реНрдб рдХреЗ рдкрд╛рд░ рдЬрд┐рдВрдЧрд╛ рдЯреЗрдореНрдкреНрд▓рдЯрд┐рдВрдЧ рдХреЛ рд╕реБрд╕рдВрдЧрдд рдмрдирд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╣рд░ рдЬрдЧрд╣ рдпрд╛ рдХрд╣реАрдВ рднреА {{}}
, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╛рджрд╛ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИред
рдореИрдВ {{}} рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдбрд╛рдпрдирд╛рдорд┐рдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЧреНрд░рд╣рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдореБрдЭреЗ рдпрд╣ рдХрд╛рд░реНрдп рдХрд░реНрд▓реА рдХреЛрд╖реНрдардХ рд╕реЗ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛:
vars:
host_name: ['foo', 'bar']
foo_wwn_2: "This exist"
tasks:
- debug:
var: "{{item.1}}_wwn_{{item.0}}"
when: ({{item.1 + '_wwn_' + item.0}}) is defined
with_nested:
- ['1', '2']
- "{{host_name}}"
рдХреЛрд╖реНрдардХ рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ рдЬрд┐рд╕реЗ TRUE рдХреЗ рд░реВрдк рдореЗрдВ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣ рджреЗрдЦрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рд╣реИ рдХрд┐ рдЖрдк when
рднреАрддрд░ рдЪрд░ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ @bartmeuris , рдЪреЗрддрд╛рд╡рдиреА рдЕрдм v2.4 рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧреА рдЬреЛ рдЬрд▓реНрдж рд╣реА рдЬрд╛рд░реА рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣реИ
@MichalTaratuta рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдмрдЬрд╛рдп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд:
when: vars[item.1 ~ '_wnn_' ~ item.0] is defined
рдпрд╣ рддрдереНрдп рдХрд┐ рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдиреЗ рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛ рд╡рд╣ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдерд╛, рдФрд░ рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдирд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдПрдХ рдЪрд░ рд╣реЛрддрд╛ рд╣реИ?
vars:
acct:
name: example_name
tasks:
- name: Emergency Account | Gather list of usernames
ios_command:
commands: show run | i ^username
register: ios_usernames
- name: Emergency Account | Remove non-emergency account users
ios_config:
lines:
- no {{ item }}
with_flattened:
- "{{ ios_usernames.stdout_lines }}"
when: '"username {{ acct.name }} privilege 0 secret" not in item'
no_log: True
рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдореИрдВ рдмрд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рдпрд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рддрд░реАрдХрд╛ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╡рд┐рдзрд┐ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ рдЬреЛ рдЙрджреНрдзреГрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рднреАрддрд░ рдХреЛрд╖реНрдардХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
рдзрд╛рдЧрд╛ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдиреЗ рдФрд░ рдЖрдЧреЗ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рдЙрджреНрдзрд░рдг рдХреЛ рддреЛрдбрд╝рдХрд░ рдФрд░ рд╕рдорд╡рд╢рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд▓рдВрдмрд╛ рдмрдирд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
when: '"username " ~ localauth.emergency.name ~ " privilege 0 secret" not in item'
рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЪреЗрддрд╛рд╡рдиреА рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ рдЬреИрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд┐рдП рд╣реБрдП рд╕реАрдорд╛рдВрдХрдХ рдХреЗ рдмрд┐рдирд╛ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
when: |-
{%- set certs = {'sync': False} -%}
{% if gen_node_certs[inventory_hostname] or
(not etcdcert_node.results[0].stat.exists|default(False)) or
(not etcdcert_node.results[1].stat.exists|default(False)) or
(etcdcert_node.results[1].stat.checksum|default('') != etcdcert_master.files|selectattr("path", "equalto", etcdcert_node.results[1].stat.path)|map(attribute="checksum")|first|default('')) -%}
{%- set _ = certs.update({'sync': True}) -%}
{% endif %}
{{ certs.sync }}
рдЗрд╕рд╕реЗ рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИ,
рд╣рдо рдЕрд╡рд╕реНрдерд╛ рдХреЗ рдЕрдВрджрд░ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ рдФрд░ рдиреАрдЪреЗ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреА
рдЪреЗрддрд╛рд╡рдиреА: рдЬрдм рдХрдердиреЛрдВ рдореЗрдВ jinja2 рдЯреЗрдореНрдкреНрд▓реЗрдЯрд┐рдВрдЧ рд╕реАрдорд╛рдВрдХрдХ рдЬреИрд╕реЗ {{}} рдпрд╛ {%%} рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ
рдЗрд╕рд▓рд┐рдП рдЪрд░ рдХреЛ рдкрд╛рд░ рдХрд░рдХреЗ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╕рдордп рдРрд╕реА рдЪреАрдЬреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдЪрд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЫреЛрдЯрд╛ рдЙрджрд╛рд╣рд░рдг
рдПрдХ рдирд╛рдЯрдХ рдкреБрд╕реНрддрдХ рдХреЛ рдЪрд▓рд╛рддреЗ рд╕рдордп рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдпрд╛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ
- name: Check the java version
shell: java -version 2>&1 | grep version | awk '{print $3}' | sed 's/"//g' | cut -d "_" -f1
register: java_versios
- name: testing senario
shell: echo '{{ VERSION }}'
register: r
- name: testing
file:
path: /root/Karthik/JAVATEST
state: directory
owner: root
group: root
mode: 0755
recurse: yes
when: java_version.stdout >= r.stdout
рдирдорд╕реНрддреЗ,
рдЬрдм рдореИрдВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЪрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо рджреЗ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдЪрд░ "Sync_source" рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рдореИрдВ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рд╕рдореВрд╣ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- debug:
msg:
- "source instance: {{ inventory_hostname }}"
- "{{ dir }} size is {{ result_dir_size }} GB"
when: "inventory_hostname in groups.{{ sync_source }}"
@linlinas
when: "inventory_hostname in groups[sync_source]"
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рдирдП рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рд╕рд╛рд░реНрдердХ рдкреНрд▓реЗрдмреБрдХ рдХреИрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред Ansible рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЪреАрдЬреЛрдВ рдХреЛ рднреВрдорд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдореМрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рднрд╛рд╡реБрдХ рд╣реЛрдиреЗ рдкрд░ рдмрджрд╕реВрд░рдд рдХреЗ рд╕рд╛рде рдлреНрд▓реИрдЯ рдкреНрд▓реЗрдмреБрдХ рдирд╣реАрдВ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВред
рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ:
рдЪреВрдХ
рдореЗрдЯрд╛
рдЪреЗрддрд╛рд╡рдиреА рдлреЗрдВрдХрддрд╛ рд╣реИтАжред
рдФрд░ рдЕрдВрдд рдореЗрдВ (рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ!)
рдореВрд▓ рднреВрдорд┐рдХрд╛ - рдЪреВрдХ
рдореВрд▓ рднреВрдорд┐рдХрд╛ - рдореЗрдЯрд╛
рдмрд╛рд▓ рднреВрдорд┐рдХрд╛ - рдХрд╛рд░реНрдп
рдореБрдЭреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдмреЗрд╡рдХреВрдл рд╣реЛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╛ рддреЛ рдХреБрдЫ рд╕рд░рд▓ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╡рд╛рдкрд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред