Amazon ec2 测试厨房几乎每次传输文件都会失败
几乎每次我运行kitchen converge with ec2驱动程序时,它都能够创建服务器并建立ssh连接,但在检测到chef omnibus安装后,它尝试传输文件,但失败了,出现了一个毫无帮助的错误。我尝试过使用不同版本的netssh并重新安装chefdk。我已经让它在30次中成功地收敛了一次,但我不知道有什么不同 还有其他人遇到过这个问题吗Amazon ec2 测试厨房几乎每次传输文件都会失败,amazon-ec2,chef-infra,test-kitchen,Amazon Ec2,Chef Infra,Test Kitchen,几乎每次我运行kitchen converge with ec2驱动程序时,它都能够创建服务器并建立ssh连接,但在检测到chef omnibus安装后,它尝试传输文件,但失败了,出现了一个毫无帮助的错误。我尝试过使用不同版本的netssh并重新安装chefdk。我已经让它在30次中成功地收敛了一次,但我不知道有什么不同 还有其他人遇到过这个问题吗 -----> Starting Kitchen (v1.10.2) -----> Creating <default-rhel7&
-----> 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'
----->启动厨房(v1.10.2)
----->创建。。。
如果您没有使用符合AWS规定的帐户
免费层,您可能需要支付运行这些套件的费用。指控
应该是最小的,但既不是测试厨房也不是它的维护者
你要对你所发生的费用负责。
请求实例。
正在轮询AWS是否存在,尝试0。。。
正在尝试标记实例,重试0次
已创建EC2实例。
例如,等待0/600秒以准备就绪。
例如,等待5/600秒以准备就绪。
例如,等待10/600秒以准备就绪。
例如,等待15/600秒以准备就绪。
例如,等待20/600秒以准备就绪。
例如,等待25/600秒以准备就绪。
例如,等待30/600秒以准备就绪。
例如,等待35/600秒以准备就绪。
例如,等待40/600秒以准备就绪。
例如,等待45/600秒以准备就绪。
例如,等待50/600秒以准备就绪。
例如,等待55/600秒以准备就绪。
EC2实例就绪。
正在等待10.254.105.26:22上的SSH服务,3秒钟后重试
正在等待10.254.105.26:22上的SSH服务,3秒钟后重试
正在等待10.254.105.26:22上的SSH服务,3秒钟后重试
[SSH]已建立
完成创建(1m56.70s)。
----->会聚。。。
准备要传输的文件
准备dna.json
将当前项目目录准备为烹饪书
传输前删除非cookbook文件
准备validation.pem
准备client.rb
----->检测到Chef Omnibus安装(仅在缺少时安装)
将文件传输到
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“选择”:封闭流(IOError)
来自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'
来自C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/packet\u stream.rb:75:“可供读取吗?”
来自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:“下一个_packet”中
来自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'
来自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'
来自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'
来自C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:474:“发送\传入\数据包”
来自C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:225:在“预处理”中
来自C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:206:在“进程”中
来自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’
来自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'
来自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'
来自C:/Users/AlexKiaie/AppData/Local/chefdk/gem/ruby/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:119:在“关闭”中
来自C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.10.2/lib/kitchen/transport/ssh.rb:115:in'close'
来自C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.10.2/lib/kitchen/transport/ssh.rb:97:in“cleanup!”
来自C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.10.2/lib/kitchen/instance.rb:274:in“cleanup!”
来自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'
来自C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.10.2/lib/kitchen/command.rb:173:run\u操作中的“块(2个级别)”中
来自C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:“调用”中
来自C:/opscode/chefdk/embedded/lib/ruby/gems/2.1.0/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:“使用_logging_context创建_中的块”
我也有类似的问题。经过大量挖掘,我在/var/log/secure中发现了一条有趣的消息-
“localhost sshd[1081]:错误:没有更多会话”
默认情况下,SSHD允许10个会话;这些未登录会话。如果由于某种原因,存在未正确关闭或打开的会话,您将收到此错误
然后我走进我的.厨房.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
当我运行TestKitchen时,速度明显变慢了。然而,它在100%的时间都能工作。我认为正在发生的是,kitchen正在打开多个SSH会话,以加快所需工具的安装。例如,对于ansible/git/whatever,使用yum;对于chef,使用/tmp/install.sh
希望这对别人有帮助。我花了一点时间