I did find another workaround, but it's not very elegant either.

In my bootstrap.yml file I created two identical blocks, one with 
`remote_user: root` and one without. Then I can conditionally run the 
playbook against one host like so:

ansible-playbook bootstrap.yml -l host -t root
or
ansible-playbook bootstrap.yml -l host -t current

It's also ugly, but at least doesn't require code changes when I want to 
init a new host.

Cheers - Callum.

On Monday, 11 May 2015 17:58:53 UTC+2, Callum Macdonald wrote:
>
> @Adrian: Did you ever find a better solution?
>
> I tried adding a custom value per host, like `bootstrap_user=root`, so I 
> could manually configure that this user should be used for the bootstrap 
> playbook. It seems like `remote_user: "{{ bootstrap_user }}"` is not 
> interpreted, but passed directly to the ssh command as the literal 
> username. So this approach doesn't really work.
>
> In the end, I did like you, and wrote the user into the playbook. I'll 
> manually edit it when bootstrapping new hosts. :-(
>
> Cheers - Callum.
>
> On Tuesday, 25 March 2014 12:39:12 UTC+1, Adrian Simmons wrote:
>>
>> Thanks Michael,
>>
>> On Monday, 24 March 2014 12:32:10 UTC, Michael DeHaan wrote:
>>>
>>> I highly recommend arranging variables in group_vars/ and host_vars/ 
>>> directories versus trying to fit them into the INI file -- IMHO, it's a lot 
>>> easier to read.
>>>
>> I do have the ansa user in host_vars/all – this is a user setup just for 
>> ansible to use and I do want *all* hosts to use it.
>> I need to run a setup play once to get the ansa user into place on each 
>> host and that setup play has ansible_ssh_user in "vars"...
>>  
>>
>>>  ansible_ssh_user in "vars" as this will override that setting, which 
>>> seems to be not what you want to do.
>>>
>>  ...because overriding that setting just for the setup play is *exactly* 
>> what I want to do.
>>
>> My question was regarding two different types of base boxes. Vagrant and 
>> non-vagrant – for the vagrant boxes the setup play needs to set the var 
>> ansible_ssh_user to 'vagrant' and for the non-vagrant it needs set to 
>> 'root'. There's no neat and tidy separation between groups, [production], 
>> [testing] etc may each have vagrant or non-vagrant hosts, so I cant just 
>> use group_vars.
>>
>> What I've done as a workaround is to have my vagrantfile setup the root 
>> user for ssh access – so that the vagrant based boxes and non-vagrant 
>> behave exactly the same as far as my setup play is concerned.
>>
>> Reading the documentation again today I'm thinking I should probably have 
>> my setup play look for an ansible fact specific to a vagrant box and then a 
>> conditional in the setup play based on that, so that I can have one setup 
>> play that deals with both types of box.
>>
>>
>>  
>>
>>>
>>>
>>> On Mon, Mar 24, 2014 at 6:25 AM, Adrian Simmons <[email protected]> 
>>> wrote:
>>>
>>>> Right now the only thing I can think of is to work outside of ansible, 
>>>>> setting up the root account with vagrant to match that on the non-vagrant 
>>>>> hosts, so I can have a single setup play.
>>>>>
>>>> Looks like that question was to long and rambling to get answers :P
>>>> At least writing it all down sometimes makes you think of the best 
>>>> answer.
>>>>
>>>> I took my own advice and did the work in vagrant instead, to set the 
>>>> root account up with ssh key access so my setup play can work just as it 
>>>> can on non-vagrant nodes. I'll have my main ansible play remove that key 
>>>> as 
>>>> a part of securing ssh access.
>>>>  
>>>>
>>>> -- 
>>>> 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].
>>>> To post to this group, send email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/ansible-project/c4955e25-6220-4048-b432-990c3f14db47%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/ansible-project/c4955e25-6220-4048-b432-990c3f14db47%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>

-- 
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].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/3b62439c-620a-4e32-8d8f-6df329c4a38e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to