Я разработал несколько сценариев Fabric, которые автоматизируют развертывание моих веб-приложений в средах Jelastic. Эти сценарии отлично работали каждый раз, до сегодняшнего дня. Эта проблема просто озадачивает меня как ничто в моих сценариях, и моя среда не изменилась с момента последнего успешного исполнения; единственное примечательное изменение в том, что мой поставщик Jelastic (ServNet Mexico) теперь работает с версией 4.9 платформы Jelastic.Тканевые скрипты для автоматического развертывания веб-приложений больше не работают на Jelastic версии 4.9
Моя местная среда:
- для Windows 10
- Python 2.7
- Ткань 1.13.1 (самая последняя версия, после того, как я модернизировал его сегодня, чтобы увидеть, если он будет делать никакой разницы)
- Paramiko 2.1.1 (как установлено по ПГИ в качестве ткани зависимости)
Я имею точно такую же проблему на две О.Т. ее машины, как с MacOS Sierra, так и с аналогичной настройкой Python и Fabric, но с более старыми версиями пакета Fabric (и его зависимостей), который работал очень хорошо несколько дней назад.
Внешний вид ткани, доступ к SSH через PuTTY (в Windows) и терминал (MacOS) работают нормально. Недавно изменилось то, что в начале удаленного сеанса отображается баннер аутентификации (который предупреждает об опасностях доступа SSH, как показано ниже). Я сомневаюсь, что это имеет какое-то отношение к моей проблеме.
Как рекомендовано by this troubleshooting page on the Fabric documentation, я включил флаг -show = debug для команды fab, а также протоколирование для Paramiko. Выход на моем окне командной строки выглядит следующим образом (я опускаю несколько строк, которые можно было бы считать частным и чувствительным, которые, насколько я могу судить, не предоставляют необходимую информацию для решаемой задачи):
Command line prompt>fab --show=debug my_task
Using fabfile '<path_to_fabric_script>'
Commands to run: my_task
Parallel tasks now using pool size of 0
<sensitive information omitted>
Parallel tasks now using pool size of 10
<sensitive information omitted>
[<jelastic_node>] run: /bin/bash -l -c "cd /var/lib/jelastic/backup && rm -f <file_to_delete>"
DEBUG:paramiko.transport:starting thread (client mode): 0x3cd61d0L
DEBUG:paramiko.transport:Local version/idstring: SSH-2.0-paramiko_2.1.1
DEBUG:paramiko.transport:Remote version/idstring: SSH-2.0-JSSHProxy
INFO:paramiko.transport:Connected (version 2.0, client JSSHProxy)
DEBUG:paramiko.transport:kex algos:[u'ecdh-sha2-nistp256', u'ecdh-sha2-nistp384', u'ecdh-sha2-nistp521', u'diffie-hellman-group14-sha1', u'diffie-hellman-group1-sha1'] server key:[u'ssh-rsa'] client encrypt:[u'aes128-ctr', u'aes192-ctr', u'aes256-ctr', u'[email protected]', u'arcfour256', u'arcfour128'] server encrypt:[u'aes128-ctr', u'aes192-ctr', u'aes256-ctr', u'[email protected]', u'arcfour256', u'arcfour128'] client mac:[u'hmac-sha1', u'hmac-sha1-96'] server mac:[u'hmac-sha1', u'hmac-sha1-96'] client compress:[u'none'] server compress:[u'none'] client lang:[u''] server lang:[u''] kex follows?False
DEBUG:paramiko.transport:Kex agreed: diffie-hellman-group1-sha1
DEBUG:paramiko.transport:Cipher agreed: aes128-ctr
DEBUG:paramiko.transport:MAC agreed: hmac-sha1-96
DEBUG:paramiko.transport:Compression agreed: none
DEBUG:paramiko.transport:kex engine KexGroup1 specified hash_algo <built-in function openssl_sha1>
DEBUG:paramiko.transport:Switch to new keys ...
DEBUG:paramiko.transport:Adding ssh-rsa host key for [gate.jl.serv.net.mx]:3022: <key>
DEBUG:paramiko.transport:Trying SSH agent key <key>
DEBUG:paramiko.transport:userauth is OK
INFO:paramiko.transport:Auth banner:
Welcome to Jelastic shell
This shell will assist you in managing Jelastic applications.
============================== ATTENTION ==============================
Shell access is rather powerful and you can accidentally damage your application.
So please pay special attention to the actions you perform here.
============================== ATTENTION ==============================
INFO:paramiko.transport:Authentication (publickey) successful!
DEBUG:paramiko.transport:[chan 0] Max packet in: 32768 bytes
DEBUG:paramiko.transport:[chan 0] Max packet out: 32768 bytes
DEBUG:paramiko.transport:Secsh channel 0 opened.
DEBUG:paramiko.transport:[chan 0] Sesch channel 0 request ok
И задача Fabric просто зависает в этот момент. Никаких дальнейших результатов, никаких сообщений о неудачах или неудачах, никаких тайм-аутов, никаких указаний о том, что может произойти. И команды команды Fabric сами не запускаются, так как предполагаемый эффект не создается на узле Jelastic, который нацелен на задачу Fabric (самая простая задача, которую я имею, - это просто удалить некоторые резервные файлы с помощью команды rm, другие задачи Я разработал более сложные, и они не будут работать.)
Я склонен думать, что этот вопрос связан либо с новой версией (4.9) Jelastic, либо с ее конкретным развертыванием в моей инфраструктуре поставщика Jelastic. К сожалению, мой провайдер не помог, когда я попросил их помочь в этом вопросе.
Буду признателен за то, что может произойти.
Нам нужно исследовать этот случай ближе. Наши разработчики задействованы. – Jelastic
Пожалуйста, дайте мне знать, если вы найдете что-либо на платформе Jelastic, которое может вызвать эту проблему. – Esteban