Ansible: рднреВрдорд┐рдХрд╛ рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рдлрд╝рд░ре░ 2016  ┬╖  44рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ansible/ansible

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкреНрд░рдХрд╛рд░

рдлрд╝реАрдЪрд░ рдЖрдЗрдбрд┐рдпрд╛

рдШрдЯрдХ рдХрд╛ рдирд╛рдо

рднреВрдорд┐рдХрд╛рдУрдВ

рдЙрддреНрддрд░рджрд╛рдпреА рд╕рдВрд╕реНрдХрд░рдг

рдПрди/рдП

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

рдореЗрд░реА рдПрдХ рднреВрдорд┐рдХрд╛ рд╣реИ рдЬреЛ рдХрдИ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЬрдЯрд┐рд▓ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреА рд╣реИред рдЕрднреА, defaults/main.yml рдЕрдзрд┐рдХ рдЪрд░ рдХреЗ рд╕рд╛рде рдмрдбрд╝рд╛ рдФрд░ рдмрдбрд╝рд╛ рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди YAML рдлрд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рд╢рдмреНрджрд╛рд░реНрде рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред

рдореИрдВрдиреЗ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЙрдирдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдЪреБрдиреА рдЧрдИ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛)ред рдХреЗрд╡рд▓ main.yml рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдЧреАред

affects_2.2 affects_2.3 affects_2.4 affects_2.5 feature core

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

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рднреВрдорд┐рдХрд╛ рдЪрд░ рдХреЗ рд▓рд┐рдП include_vars рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЪрд░ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдореМрдЬреВрдж рд╣реЛрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН "рдЕрдВрддрд┐рдо рдЙрдкрд╛рдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рднреВрдорд┐рдХрд╛/рдкреНрд▓реЗрдмреБрдХ рдХреЗ рдЕрдиреНрдп рд╣рд┐рд╕реНрд╕реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

defaults/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдкрд╣рд▓реЗ рдЖрдИрдЖрд░рд╕реА рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рд░рд╣реА рдереА, рд╣рдордиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдХрд┐ defaults/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ inventory/group_vars/ рдФрд░ inventory/host_vars/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рдорд╛рди рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ред рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рднреВрдорд┐рдХрд╛ рдЪреВрдХ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдЖрдкрдХреЗ рдкрд╛рд╕ main.yml рдореЗрдВ tasks , рдЬрд┐рд╕рдореЗрдВ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЗрдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ tasks рдХреА рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рднреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдореБрдЦреНрдп рджреЛ рдШрдЯрдХреЛрдВ foo рдФрд░ рдЙрд╕ рдмрдбрд╝реА рднреВрдорд┐рдХрд╛ рдХреЗ рдмрд╛рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

- include: foo/main.yml
- include: bar/main.yml

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рднреВрдорд┐рдХрд╛ рдЪрд░ рдХреЗ рд▓рд┐рдП include_vars рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЪрд░ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдореМрдЬреВрдж рд╣реЛрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН "рдЕрдВрддрд┐рдо рдЙрдкрд╛рдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рднреВрдорд┐рдХрд╛/рдкреНрд▓реЗрдмреБрдХ рдХреЗ рдЕрдиреНрдп рд╣рд┐рд╕реНрд╕реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

defaults/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдкрд╣рд▓реЗ рдЖрдИрдЖрд░рд╕реА рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рд░рд╣реА рдереА, рд╣рдордиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдХрд┐ defaults/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ inventory/group_vars/ рдФрд░ inventory/host_vars/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рдорд╛рди рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ред рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рднреВрдорд┐рдХрд╛ рдЪреВрдХ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

+1

+1

рдЗрд╕реЗ рд▓реЗрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛!

+1

рд╣рд╛рдБ, рдмрд╕ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ/* рдкрд╛рдП рдЧрдП рдФрд░ рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдПред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реБрдЭрд╛рдП рдЧрдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб (рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕рд╣рд┐рдд) рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рд╡рд░реНрд░реНрд╕ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рджреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП 1 рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рдЙрддреНрддрд░рджрд╛рдпреА 2.x рдЪрд░ рдкреВрд░реНрд╡рддрд╛

    role defaults [1] (loading all role defaults here critical)
    inventory vars [2]
    inventory group_vars
    inventory host_vars
    playbook group_vars
    playbook host_vars
    host facts
    registered vars
    set_facts
    play vars
    play vars_prompt
    play vars_files
    role and include vars (hack coming in here will override everything above)
    block vars (only for tasks in block)
    task vars (only for the task)
    extra vars (always win precedence)

рдпрд╣ #8121 . рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

+1

+1

рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╡рд░реАрдпрддрд╛ рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдкреНрд░рддрд┐ рд╡рд░реНрдЧ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╕рд╛рдл рдЕрд▓рдЧрд╛рд╡ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдореЗрдВ, рдпрд╣ рдореБрдЭреЗ IPv4 рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдПрдХ IPv6 рдХреЗ рд▓рд┐рдП, рдПрдХ SNMP рдХреЗ рд▓рд┐рдП рдФрд░ рдЗрд╕реА рддрд░рд╣ ...
рдЕрдВрдд рдореЗрдВ, рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдХреЗ рддрд╣рдд рд╡рд┐рднрд┐рдиреНрди рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд▓рдЧрддрд╛ рд╣реИред

рдмрд╕ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╣рд┐рдЯ рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ +1

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдкрд┐рдЯрд╛ рд╣реИред
рдЕрдЧрд░ рдореИрдВ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╕реБрдЭрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ include_vars рд╕рдорд╛рди рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд▓реЛрдб-рдСрд░реНрдбрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП meta/main.yml ред

- dependencies: []
- default_vars:
  - "main.yml"
  - "{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml"

рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ["main.yml"] рдФрд░ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛, рдЬрдмрдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдирдХреЗ рдЪрдпрди рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджрд╛рдиреЗрджрд╛рд░ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рдЕрдЬреАрдмред рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрджреЗрд╣ рдерд╛ рдХрд┐ рдпрд╣ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдХреБрдЫ рд╕рдордп рдореЗрдВ рд╕реЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИ ...

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ +1

vars/ рд▓рд┐рдП рд╡рд╣реА, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ #2958 рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдлреИрд╕рд▓рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛

@cornfeedhobo рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рд╢рд╛рдорд┐рд▓_рд╡рд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдореИрдВ рдирд╛рдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЪрд░ рдХреЗ рдЖрд╕рд╛рди рдУрд╡рд░рд░рд╛рдЗрдб рдХреЛ рд░реЛрдХ рд░рд╣рд╛ рд╣реВрдВред

рдПрдХ рдЕрдиреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛:

  • include_vars рдореЙрдбреНрдпреВрд▓, 'as_default' рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ, рдЬреЛ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╡рд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЗрдВ рд╣реЛред

рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЬреАрдм/рдкреНрд░рддрд┐-рд╕рд╣рдЬ рджрд┐рдЦрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рд╣реИред
рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдПрдХ __main__.py рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рдпрдерди рдореЙрдбреНрдпреВрд▓ рджреЗрдЦрд╛ рд╣реИ?

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдЯрд┐рдХрдЯ рдкрд░ рдЬрд┐рд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдЧрдИ рдереА рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдереАред "рдмреЗрд╢рдХ рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ"

include_role рдЖрдкрдХреЛ рдЕрдм 'рд╡реИрдХрд▓реНрдкрд┐рдХ' рдлрд╝рд╛рдЗрд▓реЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ http://docs.ansible.com/ansible/include_role_module.html defaults_from рд╡рд┐рдХрд▓реНрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ

рдмрд╕ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖ рдЧрдпрд╛ рдЬрдм defaults/main.yml рд╡рд┐рднрд╛рдЬрди рд╡рд╛рдВрдЫрд┐рдд рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдореЗрд░рд╛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред

рдпрд╣рд╛рдБ рднреА рд╡рд╣реА, рдореБрдЭреЗ рднреА рдЗрд╕рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ
+1

+1

@bcoca рдЬреЛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЬреЛрдбрд╝ рд╣реИ рдФрд░ рд▓рдЪреАрд▓рд╛рдкрди рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд▓реЗрдмреБрдХ рд▓реЗрдЦрдХ рдкрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдбрд╛рд▓рддрд╛ рд╣реИ, рдЬрдм рдЗрд░рд╛рджрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдордЭрджрд╛рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреВрдорд┐рдХрд╛ рдХреЛ рд╕рд╢рдХреНрдд рдмрдирд╛рдирд╛ рд╣реИред

рдХреГрдкрдпрд╛ рдКрдкрд░ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ

рд╣рд╛рдБ рдпрд╣ 2k рд▓рд╛рдЗрдиреЛрдВ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИред
+1

+1

+1

рдореИрдВ

+1

+1

+1
рдпрд╣рд╛рдБ рд╡рд╣реА рдореБрджреНрджрд╛ред main.yml рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред рд╣рдордиреЗ рдорд╛рди рд▓рд┐рдпрд╛ рдХрд┐ рдпрд╣ "рдмрд╕ рдХрд╛рдо рдХрд░реЗрдЧрд╛" рдФрд░ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рднреА рд╡рд░реНрд░реЛрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рддрд╣рдд рд▓реЛрдб рдХрд░реЗрдЧрд╛/рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдбреАрдЖрдИрдЖрд░ рд╣реИред рдХреЛрдИ рдЖрдирдВрдж рдирд╣реАрдВ рд╣реИред

+1

+1

+1

рдореИрдВ

+1

+1

рдореИрдВ

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

рдЬрдм рддрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдзреНрдпрд╛рди рдХрд┐рд╕реА рдореБрджреНрджреЗ рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рддрдм рддрдХ рд╣рдореЗрд╢рд╛ +1 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВред

рдЖрдк рдЬреЛ рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЙрддреНрддрд░рджрд╛рдпреА рдЯреАрдо рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕рдорд╕реНрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд▓реЙрдХ рдХрд░ рджреЗрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдкреИрдорд░ рди рдмрдиреЗрдВ рдФрд░ рдХреГрдкрдпрд╛ рдЙрдирдХрд╛ рдмрдЪрд╛рд╡ рди рдХрд░реЗрдВред

рдЖрдк рдЬреЛ рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЙрддреНрддрд░рджрд╛рдпреА рдЯреАрдо рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕рдорд╕реНрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд▓реЙрдХ рдХрд░ рджреЗрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдкреИрдорд░ рди рдмрдиреЗрдВ рдФрд░ рдХреГрдкрдпрд╛ рдЙрдирдХрд╛ рдмрдЪрд╛рд╡ рди рдХрд░реЗрдВред

рд╡реЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рдереЗ, рд▓реЗрдХрд┐рди рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рдареАрдХ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдореБрдЦреНрдп рдореБрджреНрджрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ 2.x рдореЗрдВ include_role рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкреБрд░рд╛рдиреЗ roles рд╢рд╛рдорд┐рд▓ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рдеред рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рднреВрдорд┐рдХрд╛ рдХреЛ include_role рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдмреЗрд╣рддрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдкреБрд░рд╛рдиреЗ roles рдкрджреНрдзрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореЙрдбреНрдпреВрд▓рд░ рдФрд░ рд▓рдЪреАрд▓рд╛ рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдкрдиреА рдкреНрд▓реЗрдмреБрдХ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЦреБрдж рдХреЛ рдбрд┐рдлреЙрд▓реНрдЯ рд╕рд╣рд┐рдд рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рд┐рд░рди рдкрд╛рд╕ рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ рдЖрдкрдХреА рднреВрдорд┐рдХрд╛ рдХреЛ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо/рдбрд┐рд╕реНрдЯреНрд░реЛ/рд░рд┐рд▓реАрдЬ рдХреЛ рдЕрдкрдиреЗ рдиреЗрд╕реНрдЯреЗрдб рд╕реНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рднреВрдорд┐рдХрд╛ рдЪрд░ рдЬреЛ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рдирд░рдХ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдПрдХ рдРрд╕реА рднреВрдорд┐рдХрд╛ рдмрдирд╛рдИ рд╣реИ рдЬреЛ рдпрд╣рд╛рдВ 20 рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╣реИ )ред рдХреНрдпрд╛ рдЖрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕реА рднреВрдорд┐рдХрд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ? рдпрд╣ рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ Ansible Galaxy рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рднреВрдорд┐рдХрд╛рдПрдБ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИрдВ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕рдВрднрд╡рддрдГ IMO рдХреА рд╕реВрдЪреА рдореЗрдВ рдирдВрдмрд░ рдПрдХ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╡реЗ рдЗрд╕реЗ рд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдП, рдПрдХ рд╕рд╛рд▓ рдкреБрд░рд╛рдиреЗ рдореБрджреНрджреЗ рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛, рдФрд░ рд╕рдореБрджрд╛рдп рдХреЛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдХрд┐ рд╡реЗ рдЙрди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдиреЗ рд╕реЗ рд░реЛрдХ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ рдЪрд┐рдкрдХреЗ рдирд╣реАрдВ рд░рд╣реЗрдВрдЧреЗред рдЪрд╛рд░реЛрдВ рдУрд░ рдФрд░ рдЙрддреНрдкрд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦреЗрдВред рдЕрдЧрд░ рд╡реЗ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рд▓реЛрдЧ рд╕рдорд╕реНрдпрд╛ рдХреА рдУрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ +1 рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗред

рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ include_role рдХреЛ рдпрд╣ рд╕реЛрдЪреЗ рдмрд┐рдирд╛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЪреВрдХ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдЧреАред рдХрд┐рд╕реА рднреВрдорд┐рдХрд╛ рдХреЛ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП roles рдФрд░ include_role рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рдпрд╛ рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдп рдЬреЛрдбрд╝рдирд╛ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдореВрд▓ рд╣реИред

рдореЗрд░реЗ 2 рд╕реЗрдВрдЯред

PS рдпрджрд┐ рдЖрдк +1 рдХреЛ рдХрдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕реВрдЪрдирд╛рдПрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ .... рд╢реАрд░реНрд╖ рджрд╛рдИрдВ рдУрд░ рдЙрд╕ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ рдмрдЯрди рдХреЛ рд╣рд┐рдЯ рдХрд░реЗрдВ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдм рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдареАрдХ рд╣реИ, рдпрд╣ рдореБрджреНрджрд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдореБрдЭреЗ рдмрд╛рдд рд╕рдордЭ рдЖ рдЧрдИред рдореЗрд░реЗ рд▓рд┐рдП рднреАред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИ, BTW, рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реНрдкреИрдорд░реНрд╕ рдХреЛ рдбрд╛рдЙрдирд╡реЛрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдореВрд▓ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдкрд╡реЛрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП _lazy_ рд╕рдорд░реНрдерди рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рд╕рднреНрдп рддрд░реАрдХрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рдХреНрд╖рдорддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЕрдкрдиреА рдЖрд╡рд╛рдЬ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдмрдбрд╝реЗ main.yml рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреА рд╕рд░рд▓ рдХреНрд╖рдорддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╣реЛрдЧреА:

- name: Some name
  include_default_vars:
  with_first_found:
    - "{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml"
   - main.yml

рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ [рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ] рдПрдХ рдУрдкрдирд╢ рднреВрдорд┐рдХрд╛ рдЬреЛ рд╕рднреА ssh_config рдФрд░ sshd_config рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ, рдФрд░ рдХрдИ рдУрдПрд╕ рдФрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ [рдпрд╛рдиреАред рдбреЗрдмрд┐рдпрди 8/9, EL6/7, рдЖрджрд┐] рд▓реЗрдХрд┐рди рдЬрд┐рд╕реЗ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ OS_majorversion рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдИ рднреА рдЙрдкрд▓рдмреНрдз рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдЕрднреА рдЦрдбрд╝рд╛ рд╣реИ, рдЕрдЧрд░ рдореИрдВ рдЙрди рдУрдПрд╕ рдбрд┐рдлреЙрд▓реНрдЯреНрд╕ рдХреЛ рд╢рд╛рдорд┐рд▓_рд╡рд╛рд░реНрд╕ рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реВрдВ, рддреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдореЗрдВ рдпрд╛ рдЧреНрд░реБрдк_рд╡рд╛рд░реНрд╕/рдСрд▓ рдпрд╛ рдЧреНрд░реБрдк_рд╡рд╛рд░реНрд╕/рдЧреНрд░реБрдкрдирд╛рдо рдореЗрдВ рдпрд╛ рд╣реЛрд╕реНрдЯ_рд╡рд╛рд░реНрд╕ рдЖрджрд┐ рдореЗрдВ рдЙрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЕрдм рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЬреЛ рдХреБрдЫ рднреА рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рдмреЗрддрд╣рд╛рд╢рд╛ рдЕрдкрдорд╛рдирдЬрдирдХ рдФрд░ рдмрджрд╕реВрд░рдд рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ, рдЬрд┐рд╕ рдХрд┐рд╕реА рдХрд╛ рднреА рдореИрдВрдиреЗ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдмреЗрд╣рддрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдПрдХ рд╕реБрдВрджрд░, рдмрдирд╛рдП рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рдорд┐рд▓ рдЬрд╛рдПрдЧреА рдФрд░ рдЬреАрдердм/рдЧреИрд▓реЗрдХреНрд╕реА рдореЗрдВ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реА рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

@ ralphie02 рдирд╣реАрдВ, рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХреЗ рдкрд╛рд╕ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрд╕реНрдЯ рдЖрдзрд╛рд░рд┐рдд рдЪрд░ рд╣реИ рдЬреЛ рдПрдХ рдмрд╣реБ рдордВрдЪ рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЕрд▓рдЧ рд╣реИред

рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг / рдлреАрдЪрд░_рдЖрдЗрдбрд┐рдпрд╛: https://github.com/ansible/ansible/issues/11639

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдкрд┐рдЯрд╛ рд╣реИред
рдЕрдЧрд░ рдореИрдВ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╕реБрдЭрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ include_vars рд╕рдорд╛рди рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд▓реЛрдб-рдСрд░реНрдбрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП meta/main.yml ред

- dependencies: []
- default_vars:
  - "main.yml"
  - "{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml"

рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ["main.yml"] рдФрд░ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛, рдЬрдмрдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдирдХреЗ рдЪрдпрди рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджрд╛рдиреЗрджрд╛рд░ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рд╕рдЪ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдУрдПрд╕/рд╕рдВрд╕реНрдХрд░рдг/рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд┐рдЫрдбрд╝рд╛ рд╕рдВрдЧрддрддрд╛ рднреА рд░рдЦрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред

@abedwardsw рдХреЗ рдЕрдиреБрд░реВрдк (рдкрд╣рд▓реЗ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ):
> @Cornfeedhobo рд╕реЗ 2y рд╡рд░реНрд╖ рдкреНрд░рд╕реНрддрд╛рд╡ (+1: 15!) (рдпрд╛ рдереЛрдбрд╝рд╛ @ doubletwist13 рд╕реЗ рдЕрдзрд┐рдХ рд╣рд╛рд▓ рд╣реА рдореЗрдВ) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдИ рднреВрдорд┐рдХрд╛рдУрдВ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдкрд░реНрдпрд╛рдкреНрдд:
https://github.com/hortonworks/ansible-hortonworks

рдЙрдирдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реАрдзрд╛ рд╕рдВрджрд░реНрдн:

рдпрд╣ рднреА рджреЗрдЦреЗрдВ @geerlingguy рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ (2016 рд╕реЗ!), рдФрд░ рд╡рд╣рд╛рдВ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА (рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ): https://github.com/ansible/proposals/pull/21#issuecomment -470048538

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

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

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

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

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

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

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