我正在使用vagrant来启动rackspace / open堆栈中的一些服务器。我正在使用vagrant rackspace插件(https://github.com/mitchellh/vagrant-rackspace)。
我的配置脚本执行并且运行正常 - 但有一个不便之处:我从脚本看到任何输出直到最后。不知何故,所有脚本输出似乎都被缓冲了,我确实看到了......但是直到脚本完全终止。
我有一个解决方法,即发布'我运行的所有脚本的输出我可以查看(在配置期间)如果我使用rackspace控制台登录...但是如果输出在生成时立即滚动,而不是最后缓冲并抛弃。
[注意 - 我也向开发者提交了一个错误,如果我在那里得到答案,我会更新这个帖子。 note2:我试过这个:keep_color =>是的,没有那个参数..相同的结果:直到结束都没有输出。)
要重现,请使用您的rackspace凭据,而不是下面的虚拟凭据。然后跑 vagrant up provider = rackspace 。您将看到所有输出立即显示(而不是看到消息"休眠40秒",然后是延迟,然后是另一条消息。)
Vagrant.configure("2") do |config|
config.vm.box = "dummy"
config.ssh.pty = true # work around issue where sudo requires tty
config.vm.provision :shell,
:keep_color => true,
:inline=> ' ( echo sleeping 40 secs ; sleep 40 ; echo sleep again for 40 secs ; sleep 40 ) | tee /tmp/out'
config.ssh.private_key_path = "./id_rsa"
config.vm.provider :rackspace do |rs|
rs.username = "bozo"
rs.api_key = "the-clown"
rs.flavor = /1 GB Performance/
rs.image = "bfa5783c-e40e-4668-adc1-feb0ae3d7a46"
rs.public_key_path = "./id_rsa.pub"
rs.rackspace_region = :dfw
end
end
答案 0 :(得分:0)
我没有Rackspace帐户,但可能与以下问题相同:
How can I use "puts" to the console without a line break in ruby on rails?
尝试将此添加到您的Vagrantfile:
$stdout.sync = true
$stderr.sync = true