Ansible: рддреНрд░реБрдЯрд┐! рдЯрд╛рдЗрдордЖрдЙрдЯ (12s) рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡реГрджреНрдзрд┐ рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдореЗрдВ:

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

рдЕрдВрдХ рдкреНрд░рдХрд╛рд░: рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

Ansible рд╕рдВрд╕реНрдХрд░рдг : Ansible 2.0.0.2
рдмреЛрдЯреЛ рд╕рдВрд╕реНрдХрд░рдг : 2.38.0
рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг : 2.7.5
рдкрд░реНрдпрд╛рд╡рд░рдг : RHEL 7.2

рд╕рд╛рд░рд╛рдВрд╢ :
рдореИрдВ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдордп рдкрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдВрдмреА рдкреНрд▓реЗрдмреБрдХ рдкрд░:

рдЕрдиреБрддреНрддреАрд░реНрдг рд╣реЛрдирд╛! => {"рд╡рд┐рдлрд▓": рд╕рдЪ, "рд╕рдВрджреЗрд╢": "рддреНрд░реБрдЯрд┐! (12 рд╡реАрдВ) рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡реГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд╢реАрдШреНрд░:"}

1.9.4 рдХреЗ рддрд╣рдд рдПрдХ рд╣реА рдкреНрд▓реЗрдмреБрдХ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдореИрдВрдиреЗ рдХрднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ред рдпрд╣ рддрдм рд╣реЛрдиреЗ рд▓рдЧрд╛ рдЬрдм рдореИрдВрдиреЗ Ansible 2.0 RC1 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ред рдЕрдм рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╢рд╛рдпрдж рдпрд╣ рддреАрди рдореЗрдВ рд╕реЗ рдПрдХ рд╕рдордп рд╣реИ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ 90% рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ Ansible 2.0 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдирд╛рдЯрдХ рдореЗрдВ рд▓рдЧрднрдЧ 10 рдорд┐рдирдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдПрдХ рд╣реА рдХрд╛рд░реНрдп рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдХрд╛рд░реНрдп рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ - рдпрд╣ рдПрдХ рд▓реВрдк рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реВрдк рдирд╣реАрдВ, рдлрд╛рдЗрд▓ рдХреЙрдкреА, рд▓рд╛рдЗрдирдЗрдирдлрд╛рдЗрд▓, рдЖрджрд┐ред

рдЕрд╕рдлрд▓рддрд╛ рдХрд╛ рдЕрд░реНрде рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢реБрд░реВ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓реЗ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдореИрдВ рдХрдо рд╕реЗ рдХрдо 12 рд╕реЗрдХреЗрдВрдб рдХрд╛ рд╕рдордп рдмрдврд╝рд╛ рд╕рдХрддрд╛ рд╣реВрдВ?

рдореИрдВрдиреЗ SSH рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдпрд╣ рд╕реЛрдЪрдХрд░ рдХрд┐ рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рдЧрддрд┐ рджреЗрдЧрд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рд╛ред рдЗрд╕рдиреЗ рдкреНрд▓реЗрдмреБрдХ рдХреЗ рд╕рдордп рдХреЛ рднреА рдХрдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдбрд┐рдмрдЧ -vvv рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореИрдВрдиреЗ рдХреБрдЫ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рджреЗрдЦрд╛ред рдХреИрд╕реЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд┐рдВрдЧ рд╕рдХреНрд░рд┐рдп рд╣реИ?

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

рдмрд╕ рдПрдХ рдиреЛрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдкреИрд░рд╛рдорд┐рдХреЛ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдФрд░ рдореБрджреНрджрд╛ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдкреНрд▓реЗрдмреБрдХ рдареАрдХ рдЪрд▓рд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд▓рдЧрддрд╛ рд╣реИред

рддреЛ рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП -c paramiko рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд░рддреЗред

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

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдЪрд┐рдВрддрд┐рдд:ред

рдЙрддреНрддрд░ рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд╕реНрдХрд░рдг: 2.0.0.2
рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг: 2.7.6
рдкрд░реНрдпрд╛рд╡рд░рдг: Ubuntu 14.04

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ:
рдЙрддреНрддрд░ рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд╕реНрдХрд░рдг: 2.0.0.2
рдкрд░реНрдпрд╛рд╡рд░рдг: Ubuntu 14.04

рд╡рд╣реАред рд╕реЗрдЯрдЕрдк рдЪрд░рдг рдореЗрдВ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдЙрддреНрддрд░ рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд╕реНрдХрд░рдг: 2.0.0.2
рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг: 2.7.6
рдкрд░реНрдпрд╛рд╡рд░рдг: Ubuntu 14.04

рдмрд╕ рдПрдХ рдиреЛрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдкреИрд░рд╛рдорд┐рдХреЛ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдФрд░ рдореБрджреНрджрд╛ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдкреНрд▓реЗрдмреБрдХ рдареАрдХ рдЪрд▓рд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд▓рдЧрддрд╛ рд╣реИред

рддреЛ рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП -c paramiko рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд░рддреЗред

# 14020 рдХрд╛ рдбреВрдк

рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ # 14020 рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ рдФрд░ рдЬрд┐рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдореИрдВ рдпрд╣рд╛рдВ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВ рд╡реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд╕рдорд╛рди рд╣реИрдВ, рддреЛ рдореИрдВ рдмрд╣рд╕ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред

рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ 'ssh' рдкрд░ рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ 'рд╕реНрдерд╛рдиреАрдп' рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП 'рдкреНрд░рд╛рдВрдкреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди' рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рдлрд┐рд░ рднреА, рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдХреНрдпрд╛ рдХреЛрдИ рдХреГрдкрдпрд╛ рдкреНрд▓реЗрдмреБрдХ рдХрд╛ рдПрдХ рдЕрдВрд╢ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ (рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИ; рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ, рдмрд╕ рдХреБрдЫ рд╕рдВрджрд░реНрдн), рд╕рд╛рде рд╣реА ANSIBLE_DEBUG=y рд╕рд╛рде рдЕрд╕рдлрд▓ рд░рди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рднреАред -vvvvv ?

рдореЗрд░реЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ:
рдЙрддреНрддрд░: 2.0.1.0-1ppa ~ рд╕рдЯреАрдХ
рдЙрдмреБрдиреНрдЯреБ 12.04

# ansible 'web01' -m shell -a 'dmesg | tail -20' --become -vvvvv
Using /etc/ansible/ansible.cfg as config file
Loaded callback minimal of type stdout, v2.0
<web01> ESTABLISH SSH CONNECTION FOR USER: ansible
<web01> SSH: ansible.cfg set ssh_args: (-o)(ControlMaster=auto)(-o)(ControlPersist=60s)
<web01> SSH: ansible_password/ansible_ssh_pass not set: (-o)(KbdInteractiveAuthentication=no)(-o)(PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey)(-o)(PasswordAuthentication=no)
<web01> SSH: ANSIBLE_REMOTE_USER/remote_user/ansible_user/user/-u set: (-o)(User=ansible)
<web01> SSH: ANSIBLE_TIMEOUT/timeout set: (-o)(ConnectTimeout=10)
<web01> SSH: PlayContext set ssh_common_args: ()
<web01> SSH: PlayContext set ssh_extra_args: ()
<web01> SSH: found only ControlPersist; added ControlPath: (-o)(ControlPath=/home/user01/.ansible/cp/ansible-ssh-%h-%p-%r)
<web01> SSH: EXEC ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ansible -o ConnectTimeout=10 -o ControlPath=/home/user01/.ansible/cp/ansible-ssh-%h-%p-%r web01 '/bin/sh -c '"'"'sudo -H -S -n -u root /bin/sh -c '"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-shpsnlhxruskuujwzskohueoshfyifah; /bin/sh -c '"'"'"'"'"'"'"'"'

web01 | FAILED | rc=0 >>
Timeout (12s) waiting for privilege escalation prompt:

рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрд╕рдлрд▓ рдерд╛ред

@nghnam рдХреНрдпрд╛ рдЖрдк рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ ANSIBLE_DEBUG = 1 рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд╕рдлрд▓ рд░рди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

# ansible-playbook playbooks/test.yaml -vvvv  
TASK [setup] *******************************************************************
<my.ip.address.com> ESTABLISH SSH CONNECTION FOR USER: my_remote_user
<my.ip.address.com> SSH: EXEC ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r -o IdentitiesOnly=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o 'IdentityFile="/home/padraic/.ssh/my_totally_secure_identity_file"' -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=my_remote_user -o ConnectTimeout=10 my.ip.address.com '/bin/sh -c '"'"'sudo
 -i -u root /bin/sh -c '"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-jpxmltbgxmgjairqscynmjxlxpgbtotc; /bin/sh -c '"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python'"'"'"
'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"''"'"'"'"'"'"'"'"''"'"''
fatal: [my.ip.address.com]: FAILED! => {"failed": true, "msg": "Timeout (12s) waiting for privilege escalation prompt: "}

рд╣реЗ рд▓реЛрдЧ, v2.0.1.0 рдкрд░ рдпрд╣рд╛рдВ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ред @Bbyhuy рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ -c paramiko рд╣рд░ рдмрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди # 13278 рдореЗрдВ

рдпрд╣рд╛рдВ ANSIBLE_DEBUG=y ansible all -m ping -vvvvv рдХрд╛ рдбрд┐рдмрдЧ рд▓реЙрдЧ рд╣реИ рдЬрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ: https://gist.github.com/oliver/e5a24a5b37c0006bb220

рдпрд╣ Ansible 2.0.1.0-1ppa рдХреЗ рд╕рд╛рде рд╣реИ ~ Ubuntu 12.04 рдкрд░ рд╕рдЯреАрдХ, рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рдкрд░ рдЪрд▓ рд░рд╣реЗ рдбреЗрдмрд┐рдпрди 8.2 рд╡реАрдПрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛ рд░рд╣рд╛ рд╣реИ (рдЗрд╕рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ)ред рдореИрдВ become=True рдФрд░ become_method=su рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ hosts рд╕рд╛рде ansible_sudo_pass='pass' hosts рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб рдЬреЛрдбрд╝рд╛ рд╣реИред рдЗрд╕ рд╕реЗрдЯрдЕрдк рдиреЗ рд╕рдЯреАрдХ 1.9.4-1ppa ~ рд╕рдЯреАрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред

рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ # 14426 рдпрд╛ # 13278 рдкрд░ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ with_items рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИ (рдпрд╣ рдХрд┐рд╕реА рднреА рд╕рд░рд▓ рдкреНрд▓реЗрдмреБрдХ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ -m ping ), рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рдпрд╣рд╛рдБред

@oliver рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдмреЗрдореЗрд▓ рд▓рдЧрддрд╛ рд╣реИ, Passwort: su i18n рд╢реАрдШреНрд░ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛ рд░рд╣рд╛ рд╣реИред

@bcoca рдЕрдЪреНрдЫреА рдкрдХрдбрд╝ (рдФрд░ рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ i18n рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реНрдХ)!
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдореИрдВ $ LANG рдХреЛ рдПрдХ рд░рд┐рдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓реЛрдХреЗрд▓ рдХреЛ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ Gist рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрдм "рдкрд╛рд╕рд╡рд░реНрдб:" рд╕рдВрдХреЗрдд рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реЛрддрд╛ рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореБрджреНрджреЗ 'рд╕реБ' рд╢реАрдШреНрд░ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред

рдЕрднреА рднреА рдПрдХ рд╣реА рдореБрджреНрджрд╛ (2.0.1.0), msg рд╣реИ

рдЕрдиреБрддреНрддреАрд░реНрдг рд╣реЛрдирд╛! => {"рд╡рд┐рдлрд▓": рд╕рдЪ, "рд╕рдВрджреЗрд╢": "рдЯрд╛рдЗрдордЖрдЙрдЯ (12s) рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡реГрджреНрдзрд┐ рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдореЗрдВ:"}


рдореЗрд░рд╛ рдкреНрд▓реЗ рдмреБрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

  • рд╣реЛрд╕реНрдЯ: рджреЗрд╡-рд╕рд░реНрд╡рд░

    рдмрди: рд╣рд╛рдБ

    рдмрди_рд╕рд░: рдЬрдбрд╝

    рдмрди_рдордареЛрдбрд╝: рд╕реБ

    * * * * * * * * * * * * * * * * * * * * * *

    ouvvvv рдХреЗ ouput

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрдирд╛ рдПрд╕рдПрд╕рдПрдЪ рдХрдиреЗрдХреНрд╢рди: ubuntu
SSH: ansible.cfg рд╕реЗрдЯ ssh_args: (-o) (ControlMaster = рдСрдЯреЛ) (- o) (ControlPersist = 60s)
SSH: ANSIBLE_HOST_KEY_CHECKING / host_key_checking рдЕрдХреНрд╖рдо: (-o) (StrictHostKeyChecking = no)
SSH: ansible_password / ansible_ssh_pass рд╕реЗрдЯ рдирд╣реАрдВ: (-o) (KbdInteractiveAuthentication = no) (- o) (PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey) (- o) (рдкрд╛рд╕рд╡рд░реНрдб)
SSH: ANSIBLE_REMOTE_USER / Remote_user / ansible_user / user / -u рд╕реЗрдЯ: (-o) (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = ubuntu)
SSH: ANSIBLE_TIMEOUT / рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ: (-o) (ConnectTimeout = 10)
SSH: PlayContext рд╕реЗрдЯ ssh_common_args: ()
SSH: PlayContext рд╕реЗрдЯ ssh_extra_args: ()
SSH: рдХреЗрд╡рд▓ рдирд┐рдпрдВрддреНрд░рдгрдХрд░реНрддрд╛ рдкрд╛рдпрд╛; рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдирд┐рдпрдВрддреНрд░рдгрдкрде: (-рдУ) (рдХрдВрдЯреНрд░реЛрд▓рдкрд╛рде = / рд░реВрдЯ / .ansible / cp / ansible-ssh-% h-% p-% r)
SSH: EXEC ssh -C -vvv -o ControlMaster = auto -o ControlPersist = 60s -o StrictHostKeyChecking = no -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostased, рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдПред -o рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = ubuntu -o ConnectTimeout = 10 -o ControlPath = / root / .ansible / cp / ansible-ssh-% h-% p-% r -tt 52.76.16.117 '' bin-sh -c '"" " '(umask 22 && mkdir -p " echo $HOME/.ansible/tmp/ansible-tmp-1459250484.21-51977895368027 " && рдЧреВрдВрдЬ " echo $HOME/.ansible/tmp/ansible-tmp-1459250484.21-51977895368027 ")' '' '' '
PUT / tmp / tmpMYXpV0 TO /home/ubuntu/.ansible/tmp/ansible-tmp-1459250484.21-51977895368027/setup
SSH: ansible.cfg рд╕реЗрдЯ ssh_args: (-o) (ControlMaster = рдСрдЯреЛ) (- o) (ControlPersist = 60s)
SSH: ANSIBLE_HOST_KEY_CHECKING / host_key_checking рдЕрдХреНрд╖рдо: (-o) (StrictHostKeyChecking = no)
SSH: ansible_password / ansible_ssh_pass рд╕реЗрдЯ рдирд╣реАрдВ: (-o) (KbdInteractiveAuthentication = no) (- o) (PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey) (- o) (рдкрд╛рд╕рд╡рд░реНрдб)
SSH: ANSIBLE_REMOTE_USER / Remote_user / ansible_user / user / -u рд╕реЗрдЯ: (-o) (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = ubuntu)
SSH: ANSIBLE_TIMEOUT / рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ: (-o) (ConnectTimeout = 10)
SSH: PlayContext рд╕реЗрдЯ ssh_common_args: ()
SSH: PlayContext рд╕реЗрдЯ sftp_extra_args: ()
SSH: рдХреЗрд╡рд▓ ControlPersist рдорд┐рд▓рд╛; рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдирд┐рдпрдВрддреНрд░рдгрдкрде: (-рдУ) (рдХрдВрдЯреНрд░реЛрд▓рдкрд╛рде = / рд░реВрдЯ / .ansible / cp / ansible-ssh-% h-% p-% r)
SSH: EXEC sftp -b - -Cvvv -o ControlMaster = auto -o ControlPersist = 60s -o StrictHostKeyChecking = no -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-host- рдХреА-рд╣реЛрд╕реНрдЯ рдФрд░ рдореБрдЦреНрдп-рд╣реЛрд╕реНрдЯ PasswordAuthentication = no -o User = ubuntu -o ConnectTimeout = 10 -o ControlPath = / root / .ansible / cp / ansible-ssh-% h-% p-% r '[machine1]'
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрдирд╛ рдПрд╕рдПрд╕рдПрдЪ рдХрдиреЗрдХреНрд╢рди: ubuntu
SSH: ansible.cfg рд╕реЗрдЯ ssh_args: (-o) (ControlMaster = рдСрдЯреЛ) (- o) (ControlPersist = 60s)
SSH: ANSIBLE_HOST_KEY_CHECKING / host_key_checking рдЕрдХреНрд╖рдо: (-o) (StrictHostKeyChecking = no)
SSH: ansible_password / ansible_ssh_pass рд╕реЗрдЯ рдирд╣реАрдВ: (-o) (KbdInteractiveAuthentication = no) (- o) (PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey) (- o) (рдкрд╛рд╕рд╡рд░реНрдб)
SSH: ANSIBLE_REMOTE_USER / Remote_user / ansible_user / user / -u рд╕реЗрдЯ: (-o) (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = ubuntu)
SSH: ANSIBLE_TIMEOUT / рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ: (-o) (ConnectTimeout = 10)
SSH: PlayContext рд╕реЗрдЯ ssh_common_args: ()
SSH: PlayContext рд╕реЗрдЯ ssh_extra_args: ()
SSH: рдХреЗрд╡рд▓ ControlPersist рдорд┐рд▓рд╛; рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдирд┐рдпрдВрддреНрд░рдгрдкрде: (-рдУ) (рдХрдВрдЯреНрд░реЛрд▓рдкрд╛рде = / рд░реВрдЯ / .ansible / cp / ansible-ssh-% h-% p-% r)
SSH: EXEC ssh -C -vvv -o ControlMaster = auto -o ControlPersist = 60s -o StrictHostKeyChecking = no -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostased, рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдПред -o рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = ubuntu -o ConnectTimeout = 10 -o ControlPath = / root / .ansible / cp / ansible-ssh-% h-% p-% r -tt machine1 '/ bin / sh -c -c "" "su root -c / bin / sh -c '' '' '' '' '' '' '' '' '' '' '' 'рдЗрдХреЛ BECOME-SUCCESS-lubjqfumkxawkkgetezusnctthxxffju; / рдмрд┐рди / рд╢-рд╕реА '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' рд╢рдмреНрдж '' '' '' '' '' '' '' рд▓реИрдВрдЧ = en_US.UTF-8 LC_ALL = en_US.UTF-UT LC_MESSAGES = en_US.UTF-us / usr / bin / pythor /home/ubuntu/.ansible/tmp/ansible-tmp-tmp 1459250484.21-51977895368027 / рд╕реЗрдЯрдЕрдк; rm -rf "/home/ubuntu/.ansible/tmp/ansible-tmp-1459250484.21-51977895368027/"> / dev / null 2> & 1 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' " '"' " '"' " '"' " '"' " '"' " '"' " '"' " '"' " ''" ' "'" ' "'" ' "'" ' " '' " '"' '


рдЕрдЧрд░ рдореИрдВ рд╕реБрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ

рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП Ubuntu 14.04 EC2 рд╕рд░реНрд╡рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реЗрдЯрдЕрдк рдЪрд░рдг рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рдЬрдм рдореИрдВ рджреВрд╕рд░реА рдмрд╛рд░ рдСрдЯреЛрдореЗрд╢рди рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдЙрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╣рд░ рд╕рдордп рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдПрдХ рдлреНрд░реЗрд╢ рд╕рд░реНрд╡рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рдРрдиреНрд╕рд┐рдмрд▓ рдСрдЯреЛрдореЗрд╢рди рдЪрд▓рд╛рддрд╛ рд╣реВрдВ

рдЙрддреНрддрд░ рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд╕реНрдХрд░рдг: 2.0.1.0
рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг: 2.7.6
рдкрд░реНрдпрд╛рд╡рд░рдг: Ubuntu 14.04

рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рддрд╛ рд╣реВрдВ:

ANSIBLE_DEBUG=y ansible-playbook test.yaml -t configure -l <EC2_ID> -vvvvv

рдХреГрдкрдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд┐рд╕реНрдЯ рджреЗрдЦреЗрдВ: https://gist.github.com/Lowess/77442cf0533629e80b55faa7d6d91eb0

рдХреНрдпрд╛ рдореИрдВ рдХрдо рд╕реЗ рдХрдо 12 рд╕реЗрдХреЗрдВрдб рдХрд╛ рд╕рдордп рдмрдврд╝рд╛ рд╕рдХрддрд╛ рд╣реВрдВ?

"12 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп" timeout рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ + 2s ( ssh.py рджреЗрдЦреЗрдВ) рд╣реИред

рдпрд╣ рдареАрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди timeout 30 рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ 32 рд╡рд╛рдВ рдПрд╕реНрдХреЗрд▓реЗрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рдорд┐рд▓рд╛, рдЬреЛ рдЕрдм рддрдХ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдерд╛ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╣рдорд╛рд░реЗ рдзреАрдореА AWS EC2 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП) рдмрдЧ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

@somechris рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдЖрдкрдХреА рд╕реЗрдЯрд┐рдВрдЧ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛!

рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ setup рдЪрд░рдг рд▓рдЧрднрдЧ 20 - 25 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдЬрдм рдореИрдВ AWS рдХреЗ рдЦрд┐рд▓рд╛рдл Ansible рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реБрдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдВрд╕рд┐рдмрд▓ рд╡реА 1 рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдЙрд╕ рдЯрд╛рдЗрдордЖрдЙрдЯ рдореВрд▓реНрдп рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред

рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЕрднреА v1 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред

@amenonsen рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рднреА рдЕрдм рдореЗрд░реЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╕рдЯреАрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╡рд╣реА рдореБрджреНрджрд╛ред

Ansible Host: Ubuntu 14.04
Managed Hosts: CentOS 7.2

рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╕рдорд╛рдзрд╛рди рдиреЗ рдорджрдж рдХреА рд╣реИ

pre_tasks:
  - name: disable fingerprint checking that may be enabled; when enabled, causes ssh issues
    command: authconfig --disablefingerprint --update
    become: yes

рд▓рдХреНрд╖рдг рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдЬреИрд╕реЗ рдереЗ (рдпрд╣рд╛рдБ рд╕реЗрдВрдЯреЛрд╕ рд╣реЛрд╕реНрдЯ рд╕реЗ рд╕рд┐рд╕рд▓реЙрдЧ рд╣реИ)

Apr  7 22:44:12 srv-01 python: ansible-file Invoked with directory_mode=None force=False remote_src=None path=/etc/connector owner=connector follow=False group=connector state=directory content=NOT_LOGGING_PARAMETER serole=None diff_peek=None setype=None selevel=None original_basename=None regexp=None validate=None src=None seuser=None recurse=False delimiter=None mode=None backup=None 
Apr  7 22:44:13 srv-01 dbus[703]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service'
Apr  7 22:44:13 srv-01 dbus-daemon: dbus[703]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service'
Apr  7 22:44:13 srv-01 systemd: start request repeated too quickly for fprintd.service
Apr  7 22:44:13 srv-01 systemd: Failed to start Fingerprint Authentication Daemon.
Apr  7 22:44:13 srv-01 systemd: fprintd.service failed.
Apr  7 22:44:38 srv-01 dbus[703]: [system] Failed to activate service 'net.reactivated.Fprint': timed out
Apr  7 22:44:38 srv-01 dbus-daemon: dbus[703]: [system] Failed to activate service 'net.reactivated.Fprint': timed out

@szhem рднрдпрд╛рдирдХ, рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рддрдп!

рдСрд░реНрдЯрдХреЛрдиреНрдлрд┐рдЧ - рдбрд┐рд╕рд┐рдмрд▓рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ --рдЕрдкрдбреЗрдЯ

Ubnutu рдкрд░ рдПрдХ рд╕рдорд╛рди рдХрдорд╛рдВрдб рд╣реИ 14.04? рд╣рдореЗрдВ рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИ

Ansible.cfg рдореЗрдВ [рдбрд┐рдлреЙрд▓реНрдЯреНрд╕] рд╕реЗрдХреНрд╢рди рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ = рдкреИрд░рд╛рдорд┐рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВ

ansible.cfg , рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдиреЗ 2.0+.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП 10+ рд╕рд░реНрд╡рд░ рдбрд┐рдкреНрд▓реЙрдп рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ:

[defaults]
timeout = 30

Paramiko рдореЗрд░реЗ рдЧрдврд╝ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ ssh рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдорд╛рдЗрдирд╕ рдмрди / рдмрди_рд╕рд░ / рдмрди_рдорд┐рдереЛрдб: рд╕реБ)ред рдореИрдВ рдЗрд╕ рдмрдЧ рд╕реЗ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╡рд░рдг рд╣реИ рдЬреЛ рдореИрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

<vagrant.dev> PUT /var/folders/br/p6m9m2ks0v9868lpyphsxdfr0000gp/T/tmpqcF4PG TO /home/vagrant/.ansible/tmp/ansible-tmp-1466186263.1-239875858441470/setup <vagrant.dev> SSH: EXEC sshpass -d25 sftp -b - -C -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o Port=22 -o User=vagrant -o ConnectTimeout=15 -o ControlPath=/Users/vagrant/.ansible/cp/ansible-ssh-%h-%p-%r '[vagrant.dev]' fatal: [vagrant.dev]: UNREACHABLE! => {"changed": false, "msg": "ERROR! SSH Error: data could not be sent to the remote host. Make sure this host can be reached over ssh", "unreachable": true}

рдореБрдЭреЗ рднреА рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╕реЗрдЯрдЕрдк рд╕рд┐рд░реНрдл 2.x рдореЗрдВ рдзреАрдорд╛ рд╣реИред рд╣рдо 2.1 рдХреЗ рдЦрд┐рд▓рд╛рдл рдЪрд▓рдиреЗ рдкрд░ рдмрд╣реБрдд рдмрд╛рд░ рд╕реЗрдЯрдЕрдк рдЯрд╛рдЗрдордЖрдЙрдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди 1.9 рдХреЗ рд╕рд╛рде рдХрднреА рдирд╣реАрдВред рд╣рдордиреЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдмрдврд╝рд╛рдХрд░ 30 рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рдЕрдХреНрд╕рд░ 2.1 рдкрд░ рд╣реЛрддрд╛ рд╣реИред (рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИ рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ рдХрднреА рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред)

FYI рдХрд░реЗрдВ рд╣рдордиреЗ рдЙрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рд╣рдордиреЗ рдЕрдкрдиреЗ рдЖрд░рдПрдЪрдИрдПрд▓ 6.7 рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП

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

CentOS рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рд╕реЗ 2.2 рд░рдирд┐рдВрдЧ рдХрд░рдирд╛ Azure рд╕реЗ 7.2 рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдордб рд╕реЗрд╡рд╛ рдХреЙрд▓ рдЯрд┐рдореМрдЯ (12s) рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / / / sudoers рдореЗрдВ nopasswd рдЬреЛрдбрд╝рдХрд░ рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд▓рд┐рдпрд╛
username ALL=(ALL) NOPASSWD:ALL

рд╕реВрдбреЛрд░реНрд╕ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

@ рд╡рдиреНрдбрд░ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА nopasswd рд╣реЛрдиреЗ рдкрд░ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдиреЛрдбреНрд╕ рдкрд░ рдЕрдкрдиреЗ ssh рд╕рд░реНрд╡рд░ рдХреЛ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереА? Ssh рдХреЛ рдиреЛрдб рдореЗрдВ рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ? рдиреЛрдбреНрд╕ рдкрд░ UseDNS no рд╕реЗ /etc/ssh/sshd_config рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

  • 1
    рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдореИрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ 3 рд╕реЗ рдЕрдзрд┐рдХ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдИрд╕реА 2 рдХреЛ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реВрдВред
    @somechris рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд░рдгрдиреАрддрд┐ рдореЗрдВ рднреА рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдореБрдлреНрдд рдореЛрдбред

рдЕрдиреБрддреНрддреАрд░реНрдг рд╣реЛрдирд╛! => {"рд╡рд┐рдлрд▓": рд╕рдЪ, "рд╕рдВрджреЗрд╢": "рдЯрд╛рдЗрдордЖрдЙрдЯ (12s) рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡реГрджреНрдзрд┐ рд╢реАрдШреНрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ":
OS: CentOS Linux рд░рд┐рд▓реАрдЬрд╝ 7.2.1511 (рдХреЛрд░)
рдЙрддреНрддрд░ рджреЗрдиреЗ рдпреЛрдЧреНрдп: ansible 2.2.0

рд░рд┐рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдПред рдореИрдВ FreeBSD PF рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рджреЗрдЦрддрд╛ рд╣реВрдБред SSH рдкреЛрд░реНрдЯ рдЦреБрд▓рд╛ рд╣реИ рдФрд░ рдПрдХ рдХрдорд╛рдВрдбрд▓рд╛рдЗрди рд╕реЗ SSH рдХрдиреЗрдХреНрд╢рди рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдкрд░ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдХрд╛рд░рдЧрд░ рдпреБрдХреНрддрд┐рдпрд╛рдБ

ред

рд╕реЗ:

timeout = 2 + self._play_context.timeout

рд╕реЗрд╡рд╛:

timeout = 30 + self._play_context.timeout

рдореВрд▓ рдХрд╛рд░рдг

рд▓реИрдЧреА рд╡рд╛рддрд╛рд╡рд░рдг (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдмрд╛рджрд▓ рдЖрджрд┐) рд╕рдЦреНрдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдХрд╛рд░рдг рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди ansible.cfg рд╕рдВрдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп рд╕рдВрджрд░реНрдн рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред

# 13278 рдореЗрдВ рддрд╣

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, become_user: <username> рдЬреЛрдбрд╝рдирд╛
рддреНрд░реБрдЯрд┐ рдХреЛ рджреВрд░ рдХрд┐рдпрд╛

рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдореЗрд░реА -c paramiko рдХреЛ рдореЗрд░реА ansible-play рдХрдорд╛рдВрдб рдореЗрдВ рдорджрдж рдорд┐рд▓реАред

рдореИрдВ 2.1.1.0 ansible рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдореЗрд░реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдореЗрд░реА рдкреБрд╕реНрддрдХ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде рдерд╛:

remote_user: david
sudo: yes

рдФрд░ рдХрдорд╛рдВрдб рдореЗрдВ --ask-become-pass рдЬреЛрдбрд╝рдирд╛ рд╣реИред

рдпрд╣рд╛рдБ рдиреМрд╕рд┐рдЦрд┐рдпрд╛, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдереАред рдЗрд╕рдХреЗ рд╕рд╛рде рдлрд┐рдХреНрд╕реНрдб:

sudo:yes

рдЬреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд:

become: yes
become_user: root
become_method: su

рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдореЗрд░реА рдЕрдкрдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддреНрд░реБрдЯрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВ рдкрджрд╛рд╡рдирдд рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рд╕рдВрд╕реНрдХрд░рдг 2.0.0.2

рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЧрд▓рдд рдмрди_method (su) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ (sudo) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

become: yes

рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдЬрдм рдореИрдВ ansible (ctrl + c) рдХреЛ рдорд╛рд░рддрд╛ рд╣реВрдВ рдФрд░ рдирд╛рдЯрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред рдЬреЛрдбрд╝рдиреЗ -c paramiko рдпрд╣рд╛рдБ рднреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рддреА рд╣реИред рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рдХреБрдЫ рд╕рдордп рдХреА рдЬрд░реВрд░рдд рд╣реИ ...
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдирд╛рдЯрдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдирд╛рдЯрдХ рдХреЗ рджреМрд░рд╛рди рдХрднреА рднреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдордп рдкрд░ рдирд╣реАрдВред

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдмрд╛рдд рднреА рдХреНрдпрд╛ рдереА? 2 рдорд╛рдореВрд▓реА рд╕рдВрд╢реЛрдзрди рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдореЗрд░реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ playbooks рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯреВрдЯ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рд╕рдм рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рджреЛрд╖рдкреВрд░реНрдг рдХрд╛рдо рдХрд┐рдпрд╛ред

https://github.com/ansible/ansible/issues/14426#issuecomment -+реиреж,релреп,рейрео,рейрежрез @somechris рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рдордп рд╕рдорд╛рдкреНрддрд┐ рд╡реГрджреНрдзрд┐ рд╕рдордп рд╕рдорд╛рдкреНрддрд┐ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдкреНрд░рд▓реЗрдЦрди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ:

рдпрд╣ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдпрд╛рд╕реЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ SSH рд╕рдордп-рд╕реАрдорд╛ рд╣реИ:

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

@tsoikkel рдиреЗ рдпрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛:
https://github.com/ansible/ansible/issues/14426#issuecomment -245256330

рдЬреЛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рдордп-рд╕реАрдорд╛ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рд╡реГрджреНрдзрд┐ рдХреА рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдкреНрд░рддрд┐рдмрджреНрдз рд╕рдВрджрд░реНрднрд┐рдд рд▓рд┐рдВрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреЛрдб рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╣реИ:

https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/connection/ssh.py#L418 -L421

рдХреНрдпрд╛ рд╡реГрджреНрдзрд┐ рдХреА рд╕рдорд╕реНрдпрд╛ рдПрдХ рдПрд╕рдПрд╕рдПрдЪ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИ, рдпрд╛ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрди рдЯрд╛рдЗрдордЖрдЙрдЯ, рдпрд╛ рдХреБрдЫ рдФрд░ рд╣реИ? рдпрд╣ рдЗрд╕ рдЪрд░реНрдЪрд╛ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрд╕рд▓реА рдореВрд▓ рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реИред

рдпрд╣рд╛рдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рддреНрд╡рд░рд┐рдд рдЧрддрд┐ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ:

https://github.com/ansible/ansible/blob/ac51266e8fea1ac6312a9649fc5cf10dd0609925/lib/ansible/plugins/connection/ssh.py#L438 -L445

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

рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдмрдврд╝рд╛рдХрд░ рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░рдг рдХреЛ рдЫрд┐рдкрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ ssh рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ 12s рдХреЗ рд░рд┐рдЯреНрд░реА рд╡реИрд▓реНрдпреВ рдХреЗ рд╕рд╛рде рдХреНрдпреЛрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рдЬреЛ рдЕрднреА рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ ansible рд╣реЛрд╕реНрдЯ рд╕реЗ рдЗрддрдиреЗ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рдХреНрдпреЛрдВ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реЗрдЯрдЕрдк рдореЗрдВ 50 рдиреЛрдбреНрд╕ рд╣реИрдВ, рдЬреЛ рдХрд┐ ansible рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рд╕рдордп рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдиреЛрдбреНрд╕ рдФрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ 3% рд╕рдордп рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рд╣рдо рджреВрд╕рд░реА рдмрд╛рд░ рдкреНрд▓реЗрдмреБрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдареАрдХ рд╣реЛрдЧрд╛ред

рдирдорд╕реНрддреЗ,
рдмрдВрдж рдЯрд┐рдХрдЯ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред
рд╣рдордиреЗ 2.2.5 рдФрд░ 2.2.2 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рдФрд░ рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдкрд╛рдпрдерди 3.5 рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдкрд╛рдпрдерди 2.7 рдореЗрдВ рдпрд╣ рд╕рдм рдареАрдХ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдЕрднреА рднреА рдЗрд╕рдХреЗ рд╕рд╛рде рдореБрджреНрджрд╛ рд╣реИ

рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдореБрджреНрджрд╛ рд╣реИред рдХреНрдпреЛрдВ рдмрдВрдж рд╣реИ рдореБрджреНрджрд╛?

рдореИрдВ рднреА рдЗрд╕реЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рддрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдирд╡реАрдирддрдо ansible рдореЗрдВ рдпрд╣ рджреЗрдЦрдХрд░ред рдпрд╣ рдмрдВрдж рдХреНрдпреЛрдВ рд╣реИ?

рдореИрдВ рдЗрд╕реЗ 2.3.0 рдореЗрдВ рднреА рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ

рдХреГрдкрдпрд╛ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдКрдкрд░ рдореБрджреНрджреЗ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВред рдореЙрдбреНрд╕ рдХрд╛ рдЬрд╡рд╛рдм рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдмрдВрдж рд╣реИред

рдореБрдЭреЗ -n рдзреНрд╡рдЬ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬреЛ рдмрд┐рдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ sudo 'рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛, рддрдм рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рд▓рдЧреАред
@Davidmoshal рдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдВрдиреЗ become: yes рд╕реЗ become: root рдФрд░ рдореЗрд░рд╛ рдореБрджреНрджрд╛ рдЪрд▓рд╛ рдЧрдпрд╛ред

become: root рдЧрд▓рдд рд╣реИ, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ True become рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ansible1.9 рдореЗрд░реЗ рд╕рднреА рдЕрдЬреАрдм SSH рдХрдиреЗрдХреНрд╢рди рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ ansible2.x рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдЬрд▓реНрдж рд╣реА рдХрд┐рд╕реА рднреА рд╕рдордп рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ред рдореИрдВрдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рджреЗрдЦреА рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрд╕рд╣рдордд рд╣реВрдВред рдПрдХрдорд╛рддреНрд░ рдЪрд░ рдЬреЛ рдореИрдВрдиреЗ рдмрджрд▓рд╛ рд╣реИ, рд╡рд╣ рдПрдХ рдЕрдиреВрд╕реВрдЪрд┐рдд рдЙрдиреНрдирдпрди рд╣реИред рдореИрдВ 70 рд╕реЗ рдЕрдзрд┐рдХ рд╕рд░реНрд╡рд░реЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рдирдореЗрдВ ansible1.9 рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, ansible 2.0 рдореЗрд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╣рд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрдирдЪрд╛рд╣рд╛ рдмрдЧ рд╣реИред рдирд╣реАрдВ ssh, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рддред

рдмрд╕ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдереА рдпрд╣ рд▓рдЧрд╛рддрд╛рд░ 4-5 рдмрд╛рд░ рд╣реЛ рд░рд╣рд╛ рдерд╛ред Ansible 2.3, рдЙрдмрдВрдЯреВ 16.04.1ред
рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЖрдЬ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╣реЛрдиреЗ рд▓рдЧрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рд╡рд╣рд╛рдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдпрд╣ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдирд┐рдпрдВрддреНрд░рдг рдиреЛрдб рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдиреЛрдб рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╕рдорд╕реНрдпрд╛ рдЪрд▓реА рдЧрдИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ 2.3.0.0 рдФрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд┐рдВрдЧ рдХреЗ рд╕рд╛рде 2.4.1.0 рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рдореБрджреНрджрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдЕрдВрдд рдореЗрдВ рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдХрд╛рд░рдг, рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рд▓рд╛рдЗрдирд┐рдВрдЧ рдХреЛ рджреБрд░реНрдШрдЯрдирд╛ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрдм рддрдХ, рдореБрдЭреЗ рдкреНрд░реА-2.0 рд╕реНрд╡рд┐рдЪ рдкрд░ рд╕рдВрджреЗрд╣ рд╣реИ), рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдпрд╣рд╛рдВ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡реГрджреНрдзрд┐ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рд╣реБрдИред

рдореИрдВ рдХреЗрд╡рд▓ become = True рдФрд░ become_method = sudo рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдХреЗрд╡рд▓ 'рд╡рд┐рд╢реЗрд╖' рдЪреАрдЬ рдЬреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ, рд╡рд╣ ANSIBLE_SSH_ARGS рдЗрд╕рд▓рд┐рдП рдпрд╣ рд▓рд┐рдЦрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ UserKnownHostsFile рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╕реНрдЯрдо рд╕реНрдерд╛рди рдкрд░ рд╣реИ - рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛?

рдореИрдВрдиреЗ рдкреИрд░рд╛рдорд┐рдХреЛ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рдЯреЗрд╕реНрдЯ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЬрд▓ рдЧрдпрд╛ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рднреА рдХрд╛рдо рдирд╣реАрдВ рдЖрдпрд╛, рдпрд╣ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдбрдХреНрд╢рди рдХреЗ рдорд╛рд╣реМрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореЗрд░реЗ рдЯреЗрд╕реНрдЯ-рд╕реЗрдЯрдЕрдк рджреЛрдиреЛрдВ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред

рд╕реЗрдЯ рдЕрдк:

  • Ansible 2.4.0 Ubuntu 16.04 рдирд┐рдпрдВрддреНрд░рдг рдорд╢реАрди рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ 5.1.30 VM (Vagrantbox: bento / ubuntu-16.04)
  • рд╕реЛрд▓рд╛рд░рд┐рд╕ 11.3 рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ 5.1.30 рд╡реАрдПрдо (рд╡реИрдЧреНрд░рд╛рдВрдЯрдмреЙрдХреНрд╕: рд╣реИрд╡реАрдмрд┐рди / рд╕реЛрд▓рд╛рд░рд┐рд╕ 11-рдЫреЛрдЯрд╛ рд╕рд░реНрд╡рд░)

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

рдореИрдВрдиреЗ --ask-рдмрдирдиреЗ-рдкрд╛рд╕ рдФрд░ ENTER рджрдмрд╛рдпрд╛ред рдлрд┐рд░ рднреА, рддреНрд░реБрдЯрд┐ рд╣реБрдИ ...

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдереА (рдмрдЧ рдирд╣реАрдВ) рдЬрд╣рд╛рдВ DNS рд╣рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред sudo рдорд╢реАрди рдХреЗ рд╣реЛрд╕реНрдЯрдирд╛рдо рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВрдиреЗ рдЕрдкрдиреЗ /etc/resolv.conf рдореЗрдВ DNS рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ред

рдЬреАрд╕реАрдИ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЬреАрд╕реАрдИ рдХреЗ рд╕рд╛рде рдЬреАрд╕реАрдИ 2.5 рдореЗрдВ рдЕрдХреНрд╕рд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИред рдЕрдм рддрдХ paramiko рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рд▓рдЧрддрд╛ рд╣реИред

рдЕрдЧрд░ рдЖрдк ControlPersist рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ killall ssh , рд╢рд╛рдпрдж рдПрдХ рдмрд╛рд╕реА ssh рдХрдиреЗрдХреНрд╢рди рджреЗрдирд╛ рдкрдбрд╝рд╛ред

рдирдорд╕реНрддреЗ, рдореИрдВ ubuntu 16.04 рдХреЛ ansible 2.4.2.0 рдХреЗ рд╕рд╛рде рддреИрдирд╛рдд рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╣реА рдкрд░реЗрд╢рд╛рдиреА рд╣реИ, --paramiko рд╡рд┐рдХрд▓реНрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕реА рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ ~ / .shsh / config рдХреЛ рди рдкрдврд╝реЗрдВ, рдЗрд╕рд▓рд┐рдП --paramiko рдХреЗ рдмрдЬрд╛рдп рдореИрдВ рд╣рд▓ рдХрд░рддрд╛ рд╣реВрдВред ansible.cfg add рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд┐рдВрдЧ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реИ) рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛:

[ssh_connection]
pipelining = False

рдЬрдм LXD Ubuntu 16.04 рдХрдВрдЯреЗрдирд░ рдкрд░ рдПрдХ рдкреНрд▓реЗрдмреБрдХ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛, рддреЛ рдореИрдВрдиреЗ рдЙрд╕реА рдореБрджреНрджреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ред рдореИрдВ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдмрд╕ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ sudo su рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ рдФрд░ рдпрд╣ sudo: unable to resolve host ingest0: Connection timed out рддреНрд░реБрдЯрд┐ рдХрд░реЗрдЧрд╛ред

рдореИрдВрдиреЗ рд╣реЛрд╕реНрдЯрдирд╛рдо рдХреЛ /etc/hosts рдЬреЛрдбрд╝рд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИ - рдореИрдВ рдкреНрд▓реЗрдмреБрдХ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд╕рдордп рдмрдврд╝рдиреЗ рдкрд░ рдФрд░ рдореИрдВ рддреБрд░рдВрдд sudo su рд╕рдХрддрд╛ рд╣реВрдВред

root<strong i="11">@ingest0</strong>:~# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ingest0

рдореИрдВ ansible 2.4.3.0 рдФрд░ python 2.7.12 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореЗрд░реЗ рдореБрджреНрджреЗ рдХреЛ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдмрджрд▓рдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

[sandbox]
fedora<strong i="6">@ip</strong>

рд╕реЗрд╡рд╛

[sandbox]
ip

рдЬрд╣рд╛рдБ IP рдорд╢реАрди рдХрд╛ IP рдкрддрд╛ рд╣реИред

рдпрд╣ рдмрдВрдж рдХреНрдпреЛрдВ рд╣реИ?
рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЕрдВрд╕рд┐рдмрд▓ рдФрд░ рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдмрдЧ рдЕрднреА рднреА рд╣реИред
рдХреЛрдИ рднреА рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдмрдВрдж рдХреНрдпреЛрдВ рд╣реИ?

рд╢рд╛рдпрдж рдХреНрдпреЛрдВрдХрд┐ рд╕рдорд╛рдзрд╛рди (рдУрдВ) рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдкреВрдЫрдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рд╕рдВрдпреЛрдЧ рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░рдг рд╣реИрдВред рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрдгрдп рдХреЙрд▓ рдХрд┐рдпрд╛ред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдБ,

рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ sudoers рдЬрдбрд╝ рджрд┐рдпрд╛ рд╣реИ .... рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рд╣реИред

рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рддреНрд░реБрдЯрд┐ред рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рдЕрдкрд╡рд╛рдж рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдореЗрд░реА рдкреНрд▓реЗрдмреБрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

  • рдореЗрдЬрдмрд╛рди: рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ

рдмрди_рд╕рд╛рд░: рдЬреЗрдирдХрд┐рдВрд╕
рдЗрдХрдЯреНрдард╛_рдлреИрдХреНрдЯреНрд╕: рд╕рдЪ рд╣реИ
рднреВрдорд┐рдХрд╛рдУрдВ:
- {рднреВрдорд┐рдХрд╛: рдирдВрдЧреЗ, рдЯреИрдЧ: рд╕реНрдерд╛рдиреАрдп}

  • рдпрдЬрдорд╛рди: рджреЗрд╡-рд╕рдореВрд╣
    Remote_user: рд╕реЗрдВрдЯреЛ
    рдЗрдХрдЯреНрдард╛_рдлреИрдХреНрдЯреНрд╕: рд╕рдЪ рд╣реИ
    рднреВрдорд┐рдХрд╛рдУрдВ:

    • {рднреВрдорд┐рдХрд╛: рдирдВрдЧреЗ, рдЯреИрдЧ: рдЧреНрд░рд╛рд╣рдХ}
  • рдореЗрдЬрдмрд╛рди: рдмреИрдХрдЕрдк
    Remote_user: рд╕реЗрдВрдЯреЛ
    рдмрди_рд╕рд░: рдЬрдбрд╝
    рдЗрдХрдЯреНрдард╛_рдлреИрдХреНрдЯреНрд╕: рд╕рдЪ рд╣реИ
    рднреВрдорд┐рдХрд╛рдУрдВ:

    • {рднреВрдорд┐рдХрд╛: рдирдВрдЧреЗ, рдЯреИрдЧ: рд╕рд░реНрд╡рд░}

рдЕрдиреНрдп рд╕рднреА рд╣реЛрд╕реНрдЯ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдореЗрдЬрдмрд╛рди: рдмреИрдХрдЕрдкред

-vvv рд╢реЛ

рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓ /usr/lib/python2.7/site-packages/ansible/modules/system/setup.py рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрдирд╛ рдПрд╕рдПрд╕рдПрдЪ рдХрдиреЗрдХреНрд╢рди: рд╕реЗрдВрдЯреЛ
SSH: EXEC ssh -o ControlMaster = auto -o ControlPersist = 30m -o ConnectionAttempts = 100 -o UserKnownHostsFile = / dev / null -o StrictHostKostChecking = no -o 'IdentityFile = "/ var / jenkins_home/-shsh-shsh рдбреЗрдореЛ рдбреЗрдореЛред '-o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey -o PasswordAuthentication = no -o User = centos -o ConnectTimeout = 10 -o ControlPath = / var / jenkins_hkinsред cp / cd7d91cc23 backup.infra.com '/ bin / sh -c' '' '' sudo -H -S -n -u root / bin / sh -c '' '' '' '' '' '' '' '' '' ''ред '' 'рдЗрдХреЛ BECOME-SUCCESS-uywjmsrvdxhojzxfiqjygdwdsmbvvfzn; / usr / bin / python '' '' '' '' '' '' '' '' '' '' '' рдФрд░ 'рдиреАрдВрдж 0' '' '' ''

рдЧрдВрднреАрд░ AWS рдореЗрдВ рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ ansible рдХрдорд╛рдВрдб рд╣реИ

ansible-playbook -vvv -i рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА / рд╣реЛрд╕реНрдЯреНрд╕ bareos.yml --key-file "~ .ssh / Demo.pem" -b -e

рдореБрдЭреЗ рдмрд╕ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ become рдпрд╣ рд╕рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдореЙрдбрд▓ рдХреЙрдкреА рдмрди рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрдм рдореИрдВ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯ рд░рди рдкреНрд▓реЗрдмреБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдареАрдХ рд╣реИред

рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢:

SSH: EXEC sshpass -d13 ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o StrictHostKeyChecking = no -o User = vmuser -o ConnectTime_ = 20 -o ControlPath = / root / .ansible / cp / 48d4a08c2 -fff -f 19f .202.105 '/ рдмрд┐рди / рд╢-рд╕реА' '' '' рд╕реБ рдЬрдбрд╝ -c '' '' '' '' '' '' '' '' '' '' '' / '' рдмрд┐рди '' '' '' '' '' '' '' '' ''ред " '"' " '"' " '"' " '"' " '"' " '"' " '"' " '"' " '"' " '"' " '"' рдЧреВрдВрдЬ рдмрди-рд╕рдлрд▓рддрд╛-fkekucjxphrobughycoiecflsoiptmkg ; / usr / bin / python /home/vmuser/.ansible/tmp/ansible-tmp-1536311364.58-18648023230053/file.py '"" "" "" "" "" "" "' '' '' '' '' '' ' " '"' " '"' " '"' " '"' " '"' " '"' " '"' " ''" ' "'" ' "'" ' "'" ' "' && рдиреАрдВрдж 0 ' "'" ''
рдШрд╛рддрдХ: [192.168.202.105]: рд╡рд┐рдлрд▓! => {
"рд╕рдВрджреЗрд╢": "рдЯрд╛рдЗрдордЖрдЙрдЯ (22s) рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ:"

рдореИрдВ рд╕рд╣рдордд рд╣реВрдБ,

рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ sudoers рдЬрдбрд╝ рджрд┐рдпрд╛ рд╣реИ .... рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рд╣реИред

рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рддреНрд░реБрдЯрд┐ред рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рдЕрдкрд╡рд╛рдж рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдореЗрд░реА рдкреНрд▓реЗрдмреБрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

  • рдореЗрдЬрдмрд╛рди: рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ

рдмрди_рд╕рд╛рд░: рдЬреЗрдирдХрд┐рдВрд╕
рдЗрдХрдЯреНрдард╛_рдлреИрдХреНрдЯреНрд╕: рд╕рдЪ рд╣реИ
рднреВрдорд┐рдХрд╛рдУрдВ:

  • {рднреВрдорд┐рдХрд╛: рдирдВрдЧреЗ, рдЯреИрдЧ: рд╕реНрдерд╛рдиреАрдп}
  • рдпрдЬрдорд╛рди: рджреЗрд╡-рд╕рдореВрд╣
    Remote_user: рд╕реЗрдВрдЯреЛ
    рдЗрдХрдЯреНрдард╛_рдлреИрдХреНрдЯреНрд╕: рд╕рдЪ рд╣реИ
    рднреВрдорд┐рдХрд╛рдУрдВ:

    • {рднреВрдорд┐рдХрд╛: рдирдВрдЧреЗ, рдЯреИрдЧ: рдЧреНрд░рд╛рд╣рдХ}
  • рдореЗрдЬрдмрд╛рди: рдмреИрдХрдЕрдк
    Remote_user: рд╕реЗрдВрдЯреЛ
    рдмрди_рд╕рд░: рдЬрдбрд╝
    рдЗрдХрдЯреНрдард╛_рдлреИрдХреНрдЯреНрд╕: рд╕рдЪ рд╣реИ
    рднреВрдорд┐рдХрд╛рдУрдВ:

    • {рднреВрдорд┐рдХрд╛: рдирдВрдЧреЗ, рдЯреИрдЧ: рд╕рд░реНрд╡рд░}

рдЕрдиреНрдп рд╕рднреА рд╣реЛрд╕реНрдЯ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдореЗрдЬрдмрд╛рди: рдмреИрдХрдЕрдкред

-vvv рд╢реЛ

рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓ /usr/lib/python2.7/site-packages/ansible/modules/system/setup.py рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрдирд╛ рдПрд╕рдПрд╕рдПрдЪ рдХрдиреЗрдХреНрд╢рди: рд╕реЗрдВрдЯреЛ
SSH: EXEC ssh -o ControlMaster = auto -o ControlPersist = 30m -o ConnectionAttempts = 100 -o UserKnownHostsFile = / dev / null -o StrictHostKostChecking = no -o 'IdentityFile = "/ var / jenkins_home/-shsh-shsh рдбреЗрдореЛ рдбреЗрдореЛред '-o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey -o PasswordAuthentication = no -o User = centos -o ConnectTimeout = 10 -o ControlPath = / var / jenkins_hkinsред cp / cd7d91cc23 backup.infra.com '/ bin / sh -c' '' '' sudo -H -S -n -u root / bin / sh -c '' '' '' '' '' '' '' '' '' ''ред '' 'рдЗрдХреЛ BECOME-SUCCESS-uywjmsrvdxhojzxfiqjygdwdsmbvvfzn; / usr / bin / python '' '' '' '' '' '' '' '' '' '' '' рдФрд░ 'рдиреАрдВрдж 0' '' '' ''

рдЧрдВрднреАрд░ AWS рдореЗрдВ рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ ansible рдХрдорд╛рдВрдб рд╣реИ

ansible-playbook -vvv -i рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА / рд╣реЛрд╕реНрдЯреНрд╕ bareos.yml --key-file "~ .ssh / Demo.pem" -b -e

>

рдореЗрд░рд╛ рдореБрджреНрджрд╛ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛ред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╣рд▓ рд╣реИред

рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдЦрд░рд╛рдм рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдХрд╛рд░рдг рдерд╛ред

рдореБрдЭреЗ рдпрд╣ рдореБрджреНрджрд╛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ:
рдкреНрд▓реЗрдмреБрдХ:

- name: Configure cassandra.yaml common settings
  become: yes
  become_user: cassandra
  become_method: su
  become_flags: '-s /bin/sh'
  lineinfile:
    path: /usr/local/cassandra/conf/cassandra.yaml
    regexp: '{{ item.beginning }}'
    line: '{{ item.beginning }}{{ item.value }}{{ item.end }}'
  with_items: "{{ cassandra_yaml }}"

рдЬреЛ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ:

TASK [install-cassandra : Configure cassandra.yaml common settings] *************************************************
fatal: [10.142.0.3]: FAILED! => {"msg": "Timeout (32s) waiting for privilege escalation prompt: "}

рдкреНрд▓реЗрдмреБрдХ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдиреНрдп рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рдмрд┐рдирд╛ рдореБрджреНрджреЛрдВ рдХреЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдмрд╕ рдпрд╣ "рднрд┐рдиреНрди" рд╡рд┐рдХрд▓реНрдк рдмрди рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

рдореЗрд░реЗ 3 рд╕реЗрдВрдЯ:
рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдореБрджреНрджрд╛ рдпрд╣рд╛рдБред рд╡рд╣реА рддреНрд░реБрдЯрд┐ред рдореЗрд░реЗ рдкрд╛рд╕ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЬреЛ рджреЗрдЦрд╛:

1) рдпрд╣ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ (рдореЗрд░рд╛ рдХрдиреЗрдХреНрд╢рди HE6 рд╕реБрд░рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Ubunut 18.04-> LXD рдХрдВрдЯрд░ рд╕реЗ рд╣реИ)ред рдКрдкрд░ рдХреЗ рд╕рдорд╛рди рдПрдХ рд╕реБрд░рдВрдЧ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ред рдЕрдиреНрдп рд╕реБрд░рдВрдЧ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдореИрдВ рдпрд╣рд╛рдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдПрдордЯреАрдпреВ рдореБрджреНрджрд╛ рд╣реИ)ред

  1. ANSIBLE_SSH_ARGS = "- o ControlMaster = рдирд╣реАрдВ" рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдп рдкрд░ рдЕрдЯрдХреЗ рд╣реБрдП рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

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

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

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