Hello, Alvaro,
Thanks for your response, but both options don't work for me:
1. Even if you call a ruby function/command inside the provider-specific
block, the function/command is executed (and multiple times) for any
provider.
# VirtualBox provider-specific configuration
server.vm.provider :virtualbox do |vb|
vb.landrush.enable
puts "Hello: my provider is VirtualBox"
end
In the example below, the message "Hello: my provider is VirtualBox" is
printed a few times even if I start vagrant with the following command:
*vagrant up --provider softlayer*
2. Here, I want to run the ruby script (or ruby function) on the local
machine and *NOT* on the guest machine, thus your idea does not work for me.
Actually, I want to run a ruby script which prepares a dynamic file in the
sync directory for the provision script. Thus, I want to run the script
locally just before the provisioning.
Regards,
-- Idan
On Friday, March 28, 2014 1:53:41 AM UTC+2, Alvaro Miranda Aguilera wrote:
> hello,
>
> for q1, I have seen things like this:
>
> config.vm.provider :vmware_fusion do |vb, override|
>
> override.vm.box_url =
> "http://storage.core-os.net/coreos/amd64-usr/alpha/coreos_production_vagrant_vmware_fusion.box"
>
> end
>
>
> perhaps you can test inside a data block like that?
>
> for 2, you mean ruby script as script.rb? if yes, then the shell inline
> will be executed only when the machine is provisioned
>
> you can copy the script into the guest, and execute it like:
>
> config.vm.provision :file, :source => "/path/myawesomescript",
> :destination => "/myawesomescript"
>
> config.vm.provision :shell, :inline => "ruby /myawesomescript"
>
> Alvaro.
>
>
>
> On Fri, Mar 28, 2014 at 12:28 AM, <[email protected] <javascript:>> wrote:
>
>> Hi,
>>
>> I've a single Vagrantfile that is used for multiple providers (e.g.,
>> VirtualBox, Softlayer, etc).
>>
>> 1. I would like to call a different ruby script (or ruby function) for
>> each profvider from the Vagrantfile. How I can check the provider in the
>> Vagrantfile ?
>>
>> 2. In addition, I would like to run the ruby script if and only if the
>> provision flag is set. That is, if vagrant is NOT executed with the
>> --no-provision flag. How I can check the provision flag in the Vagrantfile ?
>>
>> Thanks In Advance,
>>
>> -- Idan Zach
>>
>> --
>> 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:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
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].
For more options, visit https://groups.google.com/d/optout.