That shouldn't matter, but I tried it any way: config.vm.provision "shell", inline: $test_apt, privileged: true
and I see the same disparity. The commands above are in fact all running as the vagrant user, without any sudo or other privilege escalation. On Monday, March 4, 2019 at 9:38:12 AM UTC-8, Brian Cain wrote: > > By default, the shell provisioner does not run as root. This could explain > the reason why you get > different results. Your example outside of vagrant was run as root, where > as the provisioner in > Vagrant was run as the Vagrant user: > > https://www.vagrantup.com/docs/provisioning/shell.html#privileged > > You can update the provisioner to run as root with this option, which > might fix it. > > On Sun, Mar 3, 2019 at 4:44 PM shaun smiley <[email protected] > <javascript:>> wrote: > >> I added >> >> set -euo pipefail >> >> to the top of the embedded bash script, which would fail instantly on >> errors. I still get different results, but no errors. >> >> On Saturday, March 2, 2019 at 5:13:16 PM UTC-8, shaun smiley wrote: >>> >>> I have a strange issue where the bash code I put into Vagrantfile and >>> run with 'provision' gives different output than if I copy/paste the exact >>> same code into the shell of the vagrant machine. >>> >>> Here's a stripped down version of my Vagrantfile I've gotten to prove >>> this strange issue. >>> >>> # -*- mode: ruby -*- >>> # vi: set ft=ruby : >>> >>> $test_apt = <<-SCRIPT >>> #!/usr/bin/env bash >>> >>> dpkg_find() { >>> pkgname="$1" >>> echo "in dpkg_find, pkgname=${pkgname}" >>> dpkg --get-selections | egrep "${pkgname}"'\s+install' && { >>> echo "FOUND" >>> } || { >>> echo "NOT_FOUND" >>> } >>> } >>> >>> dpkg_find vim >>> SCRIPT >>> >>> Vagrant.configure("2") do |config| >>> config.vm.box = "peru/ubuntu-18.04-desktop-amd64" >>> config.vm.box_version = "20190222.03" >>> config.vm.network :private_network, ip: '192.168.85.102' >>> config.vm.provision "shell", inline: $test_apt >>> end >>> >>> >>> $ vagrant provision >>> ==> default: Running provisioner: shell... >>> default: Running: inline script >>> default: in dpkg_find, pkgname=vim >>> default: NOT_FOUND >>> >>> >>> >>> >>> >>> I can copy paste the dpkg_find function and its call line and get >>> different output! >>> >>> $ vagrant ssh >>> >>> vagrant@linux:~$ sudo su - >>> root@linux:~# dpkg_find() { >>> pkgname="$1" >>> echo "in dpkg_find, pkgname=${pkgname}" >>> dpkg --get-selections | egrep "${pkgname}"'\s+install' && { >>> echo "FOUND" >>> } || { >>> echo "NOT_FOUND" >>> } >>> } >>> >>> >>> >>> root@linux:~# dpkg_find vim >>> in dpkg_find, pkgname=vim >>> vim install >>> FOUND >>> >>> >>> >>> What is going on here? >>> >>> -- >> This mailing list is governed under the HashiCorp Community Guidelines - >> https://www.hashicorp.com/community-guidelines.html. Behavior in >> violation of those guidelines may result in your removal from this mailing >> list. >> >> GitHub Issues: https://github.com/mitchellh/vagrant/issues >> IRC: #vagrant on Freenode >> --- >> You received this message because you are subscribed to the Google Groups >> "Vagrant" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/vagrant-up/6607f137-4311-4a8c-892d-7dae7bfaa274%40googlegroups.com >> >> <https://groups.google.com/d/msgid/vagrant-up/6607f137-4311-4a8c-892d-7dae7bfaa274%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > > -- > Brian Cain > -- This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list. GitHub Issues: https://github.com/mitchellh/vagrant/issues IRC: #vagrant on Freenode --- You received this message because you are subscribed to the Google Groups "Vagrant" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/vagrant-up/96052a87-df0c-43db-9885-0140c30cd006%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
