Skip to content
This repository has been archived by the owner on Oct 31, 2023. It is now read-only.

no output until script completely finishes when doing vagrant up provider=rackspace #130

Open
buildlackey opened this issue Jan 5, 2015 · 2 comments

Comments

@buildlackey
Copy link

Hi there -
i am using vagrant to spin up some servers in a rackspace / open stack cluster. I am using the vagrant rackspace plugin ( https://github.com/mitchellh/vagrant-rackspace ).

My provisioning script executes and works fine -- with one inconvenience, however: I don't see any output from the script until the very end. Somehow all script output seems like it is being buffered, and I do see it.. but not until the script has complete terminated.

I have a workaround which is to 'tee' the output of all the scripts i run to a file which i can look at (during provisioning) if i use the rackspace console to login.. But it would be even better if the output scrolled by immediately as it was produced, rather than being buffered and dumped out at the end.

To reproduce, please try the Vagrantfile with the embedded script below (just change the rackspace credentials). If you run this then the two messages (about sleeping N secdonds) are output at the very end of the provisioning run, rather than one output, followed by another output 40 seconds after the first sleep.

    Vagrant.configure("2") do |config|

             config.vm.box = "dummy" 
             config.ssh.pty = true          # work around issue where sudo requires tty

             config.vm.define :redeleteserver do |redeleteserver|
                     redeleteserver.vm.provision :shell, :inline=> ' ( echo sleeping 40 secs ; sleep 40 ; echo sleep again for 40 secs ; sleep 40 ) | tee /tmp/out'
             end     

             config.ssh.private_key_path = "./id_rsa"

             config.vm.provider :rackspace do |rs| 
                rs.username        = "buildlackey"
                rs.api_key         = "blahblahblah"
                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     
@maxlinc
Copy link
Contributor

maxlinc commented Jan 6, 2015

I understand your pain! Not getting output in real time can be very annoying.

We don't do anything in this project to control the output - it's all handled by vagrant. So I'm not sure if we'll be able to fix this in this project. The issue may need to be moved to mitchellh/vagrant.

However (to my surprise) I tested it out and it seems like it does not happen when the provider is VirtualBox, so I'm trying to figure out if there's some difference in the tty or ssh on the images that might cause the problem.

You may be able to work around this by disabling the requiretty option in /etc/sudoers on your image, so you don't need to use a pty.

@buildlackey
Copy link
Author

thanks, Max. i will try.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants