2016-07-21 2 views
1

Практически каждый раз, когда я запускаю кухню, сходятся с драйвером ec2, он может создавать сервер и устанавливать соединение ssh, но после обнаружения установки повара шеф-повара он пытается передать файлы, но не работает с бесполезная ошибка. Я пробовал использовать разные версии net-ssh и переустанавливать chefdk. Я получил его, чтобы успешно сходиться один раз из, возможно, 30 раз и не могу понять, в чем разница.Испытательная кухня практически не срабатывает при передаче файлов

Спрашивает ли кто-нибудь еще эту проблему?

-----> Starting Kitchen (v1.10.2) 
-----> Creating <default-rhel7>... 
     If you are not using an account that qualifies under the AWS 
free-tier, you may be charged to run these suites. The charge 
should be minimal, but neither Test Kitchen nor its maintainers 
are responsible for your incurred costs. 

     Instance <i-167bf188> requested. 
     Polling AWS for existence, attempt 0... 
     Attempting to tag the instance, 0 retries 
     EC2 instance <i-167bf188> created. 
     Waited 0/600s for instance <i-167bf188> to become ready. 
     Waited 5/600s for instance <i-167bf188> to become ready. 
     Waited 10/600s for instance <i-167bf188> to become ready. 
     Waited 15/600s for instance <i-167bf188> to become ready. 
     Waited 20/600s for instance <i-167bf188> to become ready. 
     Waited 25/600s for instance <i-167bf188> to become ready. 
     Waited 30/600s for instance <i-167bf188> to become ready. 
     Waited 35/600s for instance <i-167bf188> to become ready. 
     Waited 40/600s for instance <i-167bf188> to become ready. 
     Waited 45/600s for instance <i-167bf188> to become ready. 
     Waited 50/600s for instance <i-167bf188> to become ready. 
     Waited 55/600s for instance <i-167bf188> to become ready. 
     EC2 instance <i-167bf188> ready. 
     Waiting for SSH service on 10.254.105.26:22, retrying in 3 seconds 
     Waiting for SSH service on 10.254.105.26:22, retrying in 3 seconds 
     Waiting for SSH service on 10.254.105.26:22, retrying in 3 seconds 
     [SSH] Established 
     Finished creating <default-rhel7> (1m56.70s). 
-----> Converging <default-rhel7>... 
     Preparing files for transfer 
     Preparing dna.json 
     Preparing current project directory as a cookbook 
     Removing non-cookbook files before transfer 
     Preparing validation.pem 
     Preparing client.rb 
-----> Chef Omnibus installation detected (install only if missing) 
     Transferring files to <default-rhel7> 
C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/ruby_compat.rb:25:in `select': closed stream (IOError) 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/ruby_compat.rb:25:in `io_select' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/packet_stream.rb:75:in `available_for_read?' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/packet_stream.rb:87:in `next_packet' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:193:in `block in poll_message' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:188:in `loop' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:188:in `poll_message' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:474:in `dispatch_incoming_packets' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:225:in `preprocess' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:206:in `process' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:170:in `block in loop' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:170:in `loop' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:170:in `loop' 
    from C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:119:in `close' 
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.10.2/lib/kitchen/transport/ssh.rb:115:in `close' 
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.10.2/lib/kitchen/transport/ssh.rb:97:in `cleanup!' 
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:274:in `cleanup!' 
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:209:in `run_action_in_thread' 
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:173:in `block (2 levels) in run_action' 
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:in `call' 
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:in `block in create_with_logging_context' 
+0

Являетесь ли вы какой-либо фанковой корпоративной сетью, которая либо перехватывает трафик, либо настаивает на собственных тайм-аутах простоя? – coderanger

+0

Если это VPC, проверьте CPU на интернет-шлюзах и посмотрите, приближается ли он к макс. – chicks

ответ

1

У меня была аналогичная проблема. После того, как много копания, я нашел в /вар/Журнал/безопасного интересное сообщение -

"localhost sshd[1081]: error: no more sessions".

По умолчанию SSHD имеет 10 сеансов разрешено; они не регистрируются в сеансах. Если по какой-либо причине есть сеансы, которые либо не закрыты должным образом, либо открыты, вы получите эту ошибку.

Затем я вошел в свою. kitchen.yml и добавил:

max_ssh_sessions: 1 

к транспортной секции. Так что теперь это выглядит так:

transport: 
    ssh_key: ./kitchen.pem 
    # need to get this key from vault, then place it on the kitchen ecs container 
    connection_timeout: 10 
    connection_retries: 5 
    max_ssh_sessions: 1 
    username: centos 

Это заметно медленнее, когда я запускаю тестовую кухню. Однако он работает в 100% случаев. Я думаю, что происходит то, что кухня открывает несколько сессий SSH, чтобы ускорить установку необходимых инструментов. Например, yum for ansible/git/whatever и /tmp/install.sh для шеф-повара.

Надеюсь, это поможет кому-то. Мне потребовалось немного времени, чтобы узнать.

Смежные вопросы