【发布时间】:2015-03-02 14:47:16
【问题描述】:
我正在使用 vagrant 在机架空间/开放堆栈集群中启动一些服务器。我正在使用 vagrant rackspace 插件(https://github.com/mitchellh/vagrant-rackspace)。
我的配置脚本执行并运行良好——但有一个不便之处:直到最后,我才看到脚本的任何输出。不知何故,所有脚本输出似乎都被缓冲了,我确实看到了......但直到脚本完全终止。
我有一个解决方法,如果我使用 rackspace 控制台登录,我可以将运行的所有脚本的输出 'tee' 到一个文件中,我可以查看该文件(在配置期间)。但如果输出在生成时立即滚动,而不是在最后缓冲和转储。
[注意-我还向开发人员提交了一个错误,如果我在那里得到答案,我会更新这个线程。注意2:我用 :keep_color => true 尝试了这个,没有那个参数。同样的结果:直到最后没有输出)。
要复制,请使用您的机架空间凭据,而不是下面的虚拟凭据。然后运行 vagrant up provider=rackspace。您将看到所有输出立即出现(而不是看到消息“sleeping 40 secs”,然后是延迟,然后是另一条消息。)
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
【问题讨论】:
-
我对内联脚本执行有同样的看法。
-
我也有同样的问题。我最终要做的是按 Enter 更新输出,这似乎会立即加载到缓冲的控制台文本中。我也很想知道如何解决这个问题。谢谢,
标签: vagrant openstack rackspace