Fabric: рд░рд┐рдмреВрдЯ рдЙрдмрдВрдЯреВ 16.04 рдореЗрдЬрдмрд╛рдиреЛрдВ рдкрд░ рдЯреВрдЯ рдЧрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдЬреБрд▓ре░ 2016  ┬╖  21рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: fabric/fabric

reboot() рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЬреЛ рдХрд┐ Ubuntu 14.04 рдФрд░ FreeBSD 10.x рд╣реЛрд╕реНрдЯ рджреЛрдиреЛрдВ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди Ubuntu 16.04 рд╣реЛрд╕реНрдЯ рдкрд░ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред

Ubuntu 14.04 рдкрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ:
рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рд░рд┐рдмреВрдЯ рдХрд░рддрд╛ рд╣реИ, рд░рд┐рдмреВрдЯ рдлреИрдмреНрд░рд┐рдХ рдХреЗ рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рдмрд╛рджред

[ubuntu] out:
[ubuntu] out:
[ubuntu] out: Broadcast message from root<strong i="9">@ubuntu</strong>
[ubuntu] out:
[ubuntu] out:   (/dev/pts/0) at 15:02 ...
[ubuntu] out:
[ubuntu] out:
[ubuntu] out:
[ubuntu] out:
[ubuntu] out: The system is going down for reboot NOW!
[ubuntu] out:
[ubuntu] out:

Ubuntu 16.04 рдкрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ:

  1. рдХрдорд╛рдВрдб рд╕реЗ рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реИред
  2. рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд┐рдмреВрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ (рдлреИрдмреНрд░рд┐рдХ рдореЗрдВ рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ)
  3. рд╕рд┐рд╕реНрдЯрдо рд░рд┐рдмреВрдЯ рдЦрддреНрдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлреИрдмреНрд░рд┐рдХ рдХреЛ рдЗрд╕рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реИред
  4. рдлреИрдмреНрд░рд┐рдХ рдмрд╕ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд╡рд╣рд╛рдБ рдЗрдВрддрдЬрд╝рд╛рд░ рдХрд░ рдмреИрдарддрд╛ рд╣реИред

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

No handlers could be found for logger "paramiko.transport"
Warning: sudo() received nonzero return code -1 while executing 'reboot'!

рдореИрдВ рдЗрд╕ рдХреЛрдб рдХреЛ рд░рд┐рдмреВрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

def reboot_():
    with settings(warn_only=True):
        print 'rebooting'
        start_time = time.time()
        reboot(wait=1200)
        print 'reboot took: {} seconds'.format(time.time() - start_time)
Bug Core Needs investigation

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

Ubuntu рдмрдЧ https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1645002 рдХреЛ 16.10 рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 16.04 рдореЗрдВ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдХрдм рд╣реЛрдЧрд╛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

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

Fatal error: sudo() received nonzero return code -1 while executing!
...
Aborting.

рд╕рд╛рджрд╛ reboot() рдиреЗ рд▓рдЧрд╛рддрд╛рд░ рдореЗрд░реЗ рд▓рд┐рдП AWS EC2 рдФрд░ рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ VM рдХреЗ рдЦрд┐рд▓рд╛рдл рдХрдИ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдПред (рдореИрдВ рд╣рдореЗрд╢рд╛ рдХреАрдлрд╛рдЗрд▓ рдСрд░реНрдЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рдерд╛ред)

рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд╛рдпрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд┐рдирд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ:

reboot(command="shutdown -r +0")

рдореЗрд░реЗ рд▓рд┐рдП рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд┐рдпрд╛ (рдПрдбрдмреНрд▓реНрдпреВрд╕реА рдИрд╕реА 2 рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рд╡реАрдПрдо рдХреЗ рдЦрд┐рд▓рд╛рдл рдореЗрд░реЗ рдореБрдЯреНрдареА рднрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, рдЕрдк-рдЯреВ-рдбреЗрдЯ ubuntu 16.04)ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ "рд╢рдЯрдбрд╛рдЙрди-рдЖрд░ рдЕрдм" рдиреЗ "рд░рд┐рдмреВрдЯ" рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдФрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдореИрдВрдиреЗ рдлреНрд░реАрдмреАрдПрд╕ рдФрд░ рдУрдкрдирдмреАрдбреАрдПрд╕ рдореИрди рдкреЗрдЬреЛрдВ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдбрд╛рд▓реА, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рд╢рдЯрдбрд╛рдЙрди рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рдЙрди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб "рд╢рдЯрдбрд╛рдЙрди -r +0" рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдХрд┐рд╕реА рднреА рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕ рдкрд░ "рд░рд┐рдмреВрдЯ" рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрдорд╛рдВрдб рдХреЛ рдмрджрд▓рдиреЗ рдпрд╛ рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрд╣рд▓реЗ рдмреАрдПрд╕рдбреА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреА рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред)

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

рдпрд╣ рд░рди рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рд╣реИ ('рд░рд┐рдмреВрдЯ')

рдпрд╣ рдПрдХ рдореИрдиреБрдЕрд▓ run рд╕рд╛рде рдПрдХ рд╣реА рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣реИ - рдЙрдмрдВрдЯреВ рдХреЗ рд░рд┐рдмреВрдЯ, рдПрд╕рдПрд╕рдПрдЪ рдХрдиреЗрдХреНрд╢рди рдЖрджрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред

рдорди рдореЗрдВ рдХреБрдЫ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди reboot() (рдлреИрдм рдХрд╛, рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдирд╣реАрдВ) рдмрд╣реБрдд рдмреБрдирд┐рдпрд╛рджреА рд╣реИ - рдпрд╣ рдмрд╕ sudo('reboot') рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдлреИрдмреНрд░рд┐рдХ рдХреА рд╕рд╛рдорд╛рдиреНрдп рдкреБрдирд░реНрд╕рдВрд░рдЪрдирд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЯреНрд╡рд┐рд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдПрдХ nontrivial рд░рд┐рдмреВрдЯ рдЕрдиреБрдХреНрд░рдо рдХреЗ рдмрд╛рдж рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛ рд╕рдХреЗред (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдо, рдЬреЛ рдмрд╣реБрдд рдЬрд▓реНрджреА рдЫреЛрдбрд╝ рджреЗрдЧрд╛)ред

Https://github.com/fabric/fabric/blob/c0224a52df59821f21a8c0bd47ce15e42c2046a4/fabric/operations.py#L1244 - рдЖрдк рдЗрд╕реЗ рдЯреНрд╡рд┐рдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред

Paramiko рдХреЗ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (рд╣рдорд╛рд░реЗ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдкреГрд╖реНрда рдХреЗ рдиреАрдЪреЗ рджреЗрдЦреЗрдВ - http://www.fabfile.org/troublesourcing.html) рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рд╕реБрд░рд╛рдЧ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред

рджрд░рдЕрд╕рд▓, рджреВрд╕рд░реЗ рд╡рд┐рдЪрд╛рд░ рдкрд░, рдпрд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдмрдВрдЯреВ рдХреЗ reboot рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдлреИрдмреНрд░рд┐рдХ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдХрд╛рд╕ рдХреЛрдб рд╕рдмрдорд┐рдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ ( run / sudo ), рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЗрд╕ sudo рдиреЛрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк reboot() рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ sudo('reboot') рдХреЙрд▓ рдЕрдВрддрддрдГ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рдП) рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд╕рдХреЗ рдФрд░ рдмреА) рдкреБрди: рд╕рдВрдпреЛрдЬрди рд╢реБрд░реВ рдХрд░ рд╕рдХреЗред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐, рдлреИрдмреНрд░рд┐рдХ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдирд┐рд╖реНрдкрд╛рджрди рдХреЗрд╡рд▓ sudo рднреАрддрд░ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреБрдЫ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдЙрд╕ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдЬреАрдм рддрд░рд╣ рдХрд╛ред _Maybe_ рдлреИрдмреНрд░рд┐рдХ рдореЗрдВ рдПрдХ рдмрдЧ, рд▓реЗрдХрд┐рди рджреВрд░рд╕реНрде рдЫреЛрд░ рдкрд░ рдЦрд░рд╛рдм рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред (рдкреБрдирд╢реНрдЪ: рдХреМрди рд╕реЗ рдлреИрдмреНрд░рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг (рдУрдВ) рдХреЛ рдЖрдк рдЗрд╕ рдкрд░ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ?)

рдСрдлрд╣реИрдВрдб рдиреЗ рд╕реЛрдЪрд╛ - рд╣рдо рд╢рд╛рдпрдж timeout= sudo рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ except TimeoutException: pass ред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдЗрд╕ (рдЕрдЬреАрдм) рд╕реНрдерд┐рддрд┐ рдореЗрдВ рднреА, рд╣рдо рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдореЗрдВ рдЪреВрдХ рдХрд░ рджреЗрдВред

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

Ubuntu 16.04 рдореЗрдВ рдПрдХ рдЕрдиреНрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЬреАрдм, рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИред рдЬрдм рдореИрдВ ssh рд╕рддреНрд░ рдореЗрдВ poweroff рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдорд╢реАрди рдмрд┐рдЬрд▓реА рдмрдВрдж рдХрд░ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди SSH рд╕рддреНрд░ рд▓рдЯрдХ рдЬрд╛рддрд╛ рд╣реИ! Ctrl + C, рдпрд╛ Ctrl + D, рдпрд╛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ _lot_ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж ssh рдЧрд░реНрднрдкрд╛рдд рдХрд░реЗрдВ:
packet_write_wait: Connection to 192.168.56.11: Broken pipe

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

рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдЯреВрдЯреЗ рд░рд┐рдмреВрдЯ (рддрд╛рдЬрд╛ рдЕрдк-рдЯреВ-рдбреЗрдЯ рдЙрдмрдВрдЯреВ 16.04 рдореЗрдВ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕, рдлреИрдмреНрд░рд┐рдХ == 1.12.0) рдкрд░ рд░рди рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рд┐рд░реНрдл рдлреЗрдВрдХрддрд╛ рд╣реИ:

Fatal error: sudo() received nonzero return code -1 while executing!

Requested: reboot
Executed: sudo -S -p 'sudo password:'  /bin/bash -l -c "reboot"

рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд╣рд╛рде рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ (рд╣реЛрд╕реНрдЯ рд░рд┐рдмреВрдЯ) sudo reboot рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

$ readlink /sbin/reboot 
/bin/systemctl
$ readlink /sbin/shutdown
/bin/systemctl

рдФрд░ рдПрдХ рдФрд░ рдЕрдЬреАрдм рдмрд╛рддред рдореИрдВрдиреЗ aws-cli рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдмреВрдЯрд┐рдВрдЧ рдХреЛрдб рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдХреЙрд▓ рдХреЗ рдмрд╛рдж (рдЬреЛ ~ 1sec рд▓реЗрддрд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИ) рдореИрдВ sudo('add-apt-repository --yes ppa:nginx/stable') рдЪрд▓рд╛рддрд╛ рд╣реВрдВред рдпрд╣ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд░рд┐рдмреВрдЯ рдХреЗ рдмрд╛рдж рдпрд╣ -1 рднреА рд▓реМрдЯ рдЖрдпрд╛:

sudo: add-apt-repository --yes ppa:nginx/stable

Fatal error: sudo() received nonzero return code -1 while executing!

Requested: add-apt-repository --yes ppa:nginx/stable
Executed: sudo -S -p 'sudo password:'  /bin/bash -l -c "add-apt-repository --yes ppa:nginx/stable"

рдлрд┐рд░ рдореИрдВрдиреЗ fabric.network.disconnect_all() рдЬреЛрдбрд╝рдХрд░ рдХрдкрдбрд╝реЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдпрд╣ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк (рдХреНрдпреЛрдВ ??):

[...] sudo: add-apt-repository --yes ppa:nginx/stable
[...] Login password for 'ubuntu': 

рдФрд░ рдЬрдм рдореИрдВрдиреЗ рд░рд┐рдмреВрдЯ рдХреЗ рдмрд╛рдж time.sleep(60 * 3) рдЬреЛрдбрд╝рд╛ рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЦрд░рд╛рдм рдмреИрдВрдб-рд╕рд╣рд╛рдпрддрд╛ рд╣реИ, рдФрд░ рдЕрдм рдореИрдВ рд╣реИрд░рд╛рди рд╣реВрдВ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рд╕реЗ рдХреИрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ "рд░рд┐рдмреВрдЯ" рдЕрдм рдХрднреА-рдХрднреА "рдмрд╣реБрдд рддреЗрдЬрд╝" рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдХрдорд╛рдВрдб рдХреА рд╕реНрдерд┐рддрд┐ ssh рдХрдиреЗрдХреНрд╢рди рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПред

(рдЯрд┐рдк: рдпрджрд┐ рдЖрдк рдПрдХ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЬрдореЗ рд╣реБрдП ssh рдХрдиреЗрдХреНрд╢рди рдкрд░ рд╣реИрдВ: \n~. aka enter, teee, рдЕрд╡рдзрд┐ рдЯрд╛рдЗрдк рдХрд░реЗрдВред рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ ssh рдПрд╕реНрдХреЗрдк рдХреИрд░реЗрдХреНрдЯрд░ рд╣реИ, рддреЛ ssh рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рд╕рд┐рд░реНрдл crl-рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ- c рдпрд╛ ctrl-d, ssh рдЗрд╕реЗ рджреВрд╕рд░реА рддрд░рдл рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред)

рдПрдХ рд╕рдорд╛рдзрд╛рди shutdown -r +1 , рдЬреЛ рдЕрдЧрд▓реЗ рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рд░рд┐рдмреВрдЯ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░реЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдмреЗрд╢рдХ, рдПрдХ рдорд┐рдирдЯ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред

рд╣реИрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: shutdown -r +0 reboot рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди UbuntuBox-16.04 рдХреЗ рдореЗрд░реЗ рд╕реАрдорд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рд▓рдВрдмрд╛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрддрд╛ рд╣реИ, рдЕрдЧрд▓рд╛ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ рдореИрдиреБрдЕрд▓ ssh рд╕рддреНрд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рд╢реЗрд▓ рдкреНрд░рд╛рдВрдкреНрдЯред

рдпрд╣ рд╢рд╛рдпрдж # 1444 рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ

рдЕрдЧрд░ init рдбреЗрдореЙрди рдХреЛ рд░рд┐рдмреВрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ systemd sshd рдХреЛ рддреБрд░рдВрдд рдорд╛рд░ рд░рд╣рд╛ рд╣реИред

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

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751636

Ubuntu рдХреЗ рд▓рд┐рдП рдмрдЧ рдХреА рд╕реВрдЪрдирд╛ рджреА:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1645002

рдореИрдВрдиреЗ рдЕрдкрдиреА рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдореЗрдВ рд░рд┐рдмреВрдЯ () рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХреА рдереАред рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╕рдордп, рд░рд┐рдмреВрдЯ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХреАрдлрд╛рдЗрд▓-рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХрдиреЗрдХреНрд╢рди рд▓рдЯрдХрд╛ рд╣реБрдЖ рдерд╛ (рд░рд┐рдмреВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред

Ubuntu рдмрдЧ https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1645002 рдХреЛ 16.10 рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 16.04 рдореЗрдВ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдХрдм рд╣реЛрдЧрд╛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

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

Fatal error: sudo() received nonzero return code -1 while executing!
...
Aborting.

рд╕рд╛рджрд╛ reboot() рдиреЗ рд▓рдЧрд╛рддрд╛рд░ рдореЗрд░реЗ рд▓рд┐рдП AWS EC2 рдФрд░ рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ VM рдХреЗ рдЦрд┐рд▓рд╛рдл рдХрдИ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдПред (рдореИрдВ рд╣рдореЗрд╢рд╛ рдХреАрдлрд╛рдЗрд▓ рдСрд░реНрдЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рдерд╛ред)

рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд╛рдпрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд┐рдирд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ:

reboot(command="shutdown -r +0")

рдореЗрд░реЗ рд▓рд┐рдП рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд┐рдпрд╛ (рдПрдбрдмреНрд▓реНрдпреВрд╕реА рдИрд╕реА 2 рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рд╡реАрдПрдо рдХреЗ рдЦрд┐рд▓рд╛рдл рдореЗрд░реЗ рдореБрдЯреНрдареА рднрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, рдЕрдк-рдЯреВ-рдбреЗрдЯ ubuntu 16.04)ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ "рд╢рдЯрдбрд╛рдЙрди-рдЖрд░ рдЕрдм" рдиреЗ "рд░рд┐рдмреВрдЯ" рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдФрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдореИрдВрдиреЗ рдлреНрд░реАрдмреАрдПрд╕ рдФрд░ рдУрдкрдирдмреАрдбреАрдПрд╕ рдореИрди рдкреЗрдЬреЛрдВ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдбрд╛рд▓реА, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рд╢рдЯрдбрд╛рдЙрди рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рдЙрди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб "рд╢рдЯрдбрд╛рдЙрди -r +0" рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдХрд┐рд╕реА рднреА рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕ рдкрд░ "рд░рд┐рдмреВрдЯ" рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрдорд╛рдВрдб рдХреЛ рдмрджрд▓рдиреЗ рдпрд╛ рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрд╣рд▓реЗ рдмреАрдПрд╕рдбреА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреА рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред)

shutdown -r +0 рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЪреВрдВрдХрд┐ рд░рд┐рдмреВрдЯ рдореИрдиреНрдпреБрдЕрд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рднреА рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:

try:
    sudo("shutdown -r +0", timeout=300)
except NetworkError:
    pass
# in case the sudo times out during reboot
sleep(15)

рдпрд╣ рд╕рдм рд╣рд╛рде рд▓рд╣рд░рд╛рддреЗ рд╣реБрдП рднреА, рдЕрдЧрд▓реА рдЖрдЬреНрдЮрд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рд▓рдЯрдХреА рд░рд╣реАред рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдореГрдд рдХрдиреЗрдХреНрд╢рди рдкрд░ рдкрдХрдбрд╝ рд░рд╣рд╛ рд╣реИ (рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ)? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ? рдХреНрдпрд╛ рдореИрдВ рдХрдиреЗрдХреНрд╢рди-рд╕реНрддрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рджрд░рдЕрд╕рд▓, рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ reboot() рд╣реЛрддрд╛ рд╣реИ:

https://github.com/fabric/fabric/blob/1.13.2/fabric/operations.py#L1289 -L1294

рдПрдХ рдкреБрд░рд╛рдиреЗ рдореБрджреНрджреЗ рдХреЛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА, рдореИрдВ рдпрд╣ рднреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдПрд▓рдПрдХреНрд╕рд╕реА рдХрдВрдЯреЗрдирд░ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИред command="shutdown -r +0" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ @ploxiln рдХреЗ рд╕реБрдЭрд╛рд╡ рдиреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред

рдмреИрд╢ рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рде FreeBSD 11.1 рдХреА рдПрдХ рдирдИ рд╕реНрдерд╛рдкрдирд╛ рдкрд░ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ:

reboot(wait=1) рдкрд░рд┐рдгрд╛рдо:

Fatal error: sudo() received nonzero return code -1 while executing!

Requested: reboot
Executed: sudo -S -p 'sudo password:'  /usr/local/bin/bash -l -c "reboot"

Aborting.
Traceback (most recent call last):
тАж
    raise env.abort_exception(msg)
hosts.FabricException: sudo() received nonzero return code -1 while executing!

рдореИрдВрдиреЗ @ ambsw-technology рдФрд░ @ploxiln рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЪреАрдЬреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░

sudo('shutdown -r +0')
time.sleep(30)
fabric.state.connections.connect(env.host_string)

FYI рдХрд░реЗрдВ, рдореИрдВ рдЕрднреА рднреА рдЗрд╕реЗ 18.04.2 LTS рд╕рд░реНрд╡рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рджреЗрдЦрддрд╛ рд╣реВрдВред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдлрд┐рдХреНрд╕? 16.04 рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рднреА рд╣реЛ рд░рд╣реА рд╣реИ

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

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

shadyabhi picture shadyabhi  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

bitprophet picture bitprophet  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

peteruhnak picture peteruhnak  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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