Found a typo: where it reads "If I have only these providers set up" it 
should be "If I have only* one* these providers set up"

On Thursday, October 19, 2017 at 11:30:22 AM UTC+1, [email protected] 
wrote:
>
> I have a specific use case for Vagrant with which I'm struggling a bit.
>
> We need to have on the same Vagrantfile a way to roll a local development 
> VM and/or an AWS instance. For this I thought of using 2 different 
> providers, a virtualbox provider and the vagrant-aws provider plugin.
>
> If I have only these providers set up in the Vagrantfile, it works as 
> expected. However, if I
>
> vagrant up --provider=virtualbox
>
> the provision block I have setup in the Virtualbox provider block runs 
> *twice*. I have tried isolating each provider's configuration and 
> provisioning inside if-then blocks that look at the ARGV array, but Vagrant 
> seems to ignore this.
>
> My final goal is to have at a project level, a way that allows my 
> developer colleagues to *vagrant up* locally so that they can work on the 
> project, but, at a different time, different host and by a different 
> process, be able to *vagrant up --provider=aws* to roll a staging 
> environment for the same project. Please note that I need different 
> provisioning for either the local VM with Virtualbox or the staging 
> instance on AWS. I also *don't* want the provisioning of each provider 
> mixed up *or* both providers being setup at the same time.
>
> Does anyone have any insight on how to do this? Vagrant's documentation on 
> Hashicorp's website is a bit misleading as I thought I could isolate 
> different procedures in the same Vagrantfile, but I'm not sure if I'm doing 
> it wrong or if it's not possible at all.
>
> My Vagrantfile looks something like this at the moment:
>
>
> Vagrant.configure(2) do | config |
>
>   # doesn't work:
>   # provider_is_aws  = (!ARGV.nil? && 
> ARGV.join('').include?('provider=aws'))
>
>
>   # unless provider_is_aws # doesn't isolate the configuration
>
>   config.vm.provider :virtualbox do |v|
>     # several config.vm options
>     # ...
>     config.vm.provision "ansible" do |ansible|
>       ansible.playbook = "local_playbook.yml"
>     end
>   end
>   # end # unless block
>
>   # if provider_is_aws # doesn't isolate the configuration
>   config.vm.provider :aws do |aws, override|
>     # several aws. options
>     # ...
>     override.vm.provision "Ansible_Local", type: "ansible_local" do |
> ansible|
>       ansible.playbook = "aws_playbook.yml"
>     end
>   end
>   # end # if block
>
>
> end
>
>
> If I *vagrant up --provider=virtualbox* the *local_playbook.yml *provisioner 
> runs 
> twice (!). This makes absolutely no sense to me. 
>

-- 
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/c18c5ac0-a7ec-4ae1-8609-1251560c1383%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to