Did this ever get addressed in Vagrant?
On Mon, Dec 9, 2013 at 4:01 PM, Taylor Brown <[email protected]> wrote: > Thanks for this fix! I ran into this issue when running ansible-playbook > as part of a shell provisioning script in Vagrant. In other words, Vagrant > is just running a shell script, and the shell script is running "sudo > ansible-playbook" in local mode. However, I just wanted to point out that > in this case, the following doesn't work as I expected: > > export PYTHONUNBUFFERED=1 > sudo ansible-playbook /vagrant/provisioning/playbook.yml > --connection=local -i "[database]127.0.0.1," > > Of course, I'm a Linux noobie, and it took me a while to realize I needed > to do this instead: > sudo PYTHONUNBUFFERED=1 ansible-playbook ... > > Or this: > sudo python -u `which ansible-playbook` ... > > The "PYTHONUNBUFFERED" env variable didn't survive the call to sudo, which > makes sense in hindsight. Anyway, in case anyone else is running into this > instead of using Vagrant's built-in Ansible provisioner, I wanted to post > the solution here since this thread is a likely place to stumble. > > Taylor > > > > On Thursday, September 26, 2013 9:27:26 AM UTC-3, Michael DeHaan wrote: > >> Thanks very much! >> >> We have lots of vagrant users so this will definitely continue to keep >> them happy. >> >> >> >> >> On Thu, Sep 26, 2013 at 5:19 AM, Jake Clarkson <jake.c...@digitalanimal. >> com> wrote: >> >>> Have submitted a PR to Vagrant for this: >>> >>> https://github.com/mitchellh/vagrant/pull/2275 >>> >>> Thanks all for your help :-) >>> >>> >>> On Thursday, 26 September 2013 08:59:01 UTC+1, Jake Clarkson wrote: >>>> >>>> Thanks Dmitry, that solved the problem :-) >>>> >>>> On Wednesday, 25 September 2013 21:28:35 UTC+1, Dmitry Horbach wrote: >>>>> >>>>> Yes I noticed the same after upgrade to 1.3 Ansible. >>>>> export PYTHONUNBUFFERED=1 >>>>> This fixes the issue if ansible execution is wrapped with some other >>>>> process >>>>> >>>>> On Wednesday, September 25, 2013 4:12:56 PM UTC+3, Jake Clarkson wrote: >>>>>> >>>>>> Hey guys, >>>>>> >>>>>> Since using Ansible >= 1.3.0 I've noticed that when provisioning a >>>>>> Vagrant VM the output of `ansible-playbook` is not shown until it has >>>>>> finished (whether it be an error or a successful provision). >>>>>> >>>>>> I've had a look in the Vagrant source code and in https://github.com/ >>>>>> mitchellh/vagrant/blob/master/plugins/provisioners/ansible/provision >>>>>> er.rb the following can be seen: >>>>>> >>>>>> >>>>>> result = Vagrant::Util::Subprocess.execute(*command) do |type, data| >>>>>> if type == :stdout || type == :stderr >>>>>> @machine.env.ui.info(data, :new_line => false, :prefix => false) >>>>>> end >>>>>> end >>>>>> >>>>>> >>>>>> This looks to me like it's just redirecting stdout/err from >>>>>> `ansible-playbook` to the host machine's terminal. I have raised a ticket >>>>>> with Vagrant (https://github.com/mitchellh/vagrant/issues/2194). >>>>>> >>>>>> If I run `ansible-playbook` by hand in the terminal I get 'realtime' >>>>>> feedback of task execution rather than solely at the end of the run, e.g. >>>>>> >>>>>> ansible-playbook \ >>>>>> ~/Development/playbook.yml \ >>>>>> -i ~/Development/inventory \ >>>>>> -u vagrant \ >>>>>> --private-key=~/.vagrant.d/insecure_private_key >>>>>> >>>>>> My question is, when does Ansible write to stdout? Did this change at >>>>>> all between 1.2.x -> 1.3? >>>>>> >>>>>> Many thanks :-) >>>>>> >>>>>> Everyone Advertises >>>>>> >>>>>> http://www.digitalanimal.com >>>>>> >>>>>> *Digital Animal Limited is registered in England and Wales under >>>>>> company number: 07757607. Registered office 47 Castle Street Reading RG1 >>>>>> 7SR. VAT No: GB 121 1672 57* >>>>>> >>>>>> This electronic message contains information from Digital Animal Ltd >>>>>> which may be privileged or confidential. The information is intended to >>>>>> be >>>>>> for the use of the individuals or entity named above. If you are not the >>>>>> intended recipient be aware that any disclosure, copying, distribution or >>>>>> use of the contents of this information is prohibited. If you have >>>>>> received >>>>>> this electronic message in error, please notify us by telephone or email >>>>>> (to the numbers or address above) immediately. >>>>>> >>>>> >>> Everyone Advertises >>> >>> http://www.digitalanimal.com >>> >>> *Digital Animal Limited is registered in England and Wales under company >>> number: 07757607. Registered office 47 Castle Street Reading RG1 7SR. VAT >>> No: GB 121 1672 57* >>> >>> This electronic message contains information from Digital Animal Ltd >>> which may be privileged or confidential. The information is intended to be >>> for the use of the individuals or entity named above. If you are not the >>> intended recipient be aware that any disclosure, copying, distribution or >>> use of the contents of this information is prohibited. If you have received >>> this electronic message in error, please notify us by telephone or email >>> (to the numbers or address above) immediately. >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Ansible Project" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> >> >> -- >> Michael DeHaan <[email protected]> >> >> CTO, AnsibleWorks, Inc. >> http://www.ansibleworks.com/ >> >> -- > You received this message because you are subscribed to the Google Groups > "Ansible Project" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > -- Michael DeHaan <[email protected]> CTO, AnsibleWorks, Inc. http://www.ansibleworks.com/ -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
