Hi all,

Just FYI in case that other folks may find this helpful later.

I took Michael's hint, and changed the error_on_undefined_vars from False 
to True, which basically returns an explicit error if there exists a 
missing variable, as follow.

myproject_foler/.ansible.cfg

    #error_on_undefined_vars = False

    error_on_undefined_vars = True
And I found that the original error was caused by one missing variable in 
the lineinfile command, {{ elasticsearch_URL }}. Once I add those variables 
in my vars file, everything start working :-)

In short,  lineinfile does take varaiables and it works perfectly
   
My only slight complaint is that the error message was not as related to 
the root cause as it could be.

Thanks to Michael.




On Monday, July 21, 2014 4:26:19 PM UTC-7, Sean wrote:
>
>
>
>
>
> On Monday, July 21, 2014 4:13:17 PM UTC-7, Michael DeHaan wrote:
>>
>> A quick question or to -- what version of Ansible are you trying this on?
>>
>> In your ansible.cfg, is this perhaps an upgrade that does not have "fail 
>> on undefined variables" turned on?
>>
>> Most people have this on now, but not all.   It's the default if you 
>> don't have an ansible.cfg and your version is new enough.
>>
>> BTW, I have tested that the variables have been defined.
>
> Here is my playbook:
>
> - name: debug variables
>   debug: msg=" variable concatication = {{ kibana_doc_root }}/{{ 
> kibana_version }}/{{ kibana_config_file }}"
>
>
> Here is the corresponding output:
>
> TASK: [kibana | debug variables] 
> ********************************************** 
>
> ok: [kibana] => {
>
>     "item": "", 
>
>     "msg": " variable concatication = 
> /var/www/kibana/kibana-3.0.0milestone4/config.js"
>
> }
>  
>
>>
>> On Mon, Jul 21, 2014 at 2:47 PM, Sean <[email protected]> wrote:
>>
>>> I tried to change one line in a file with lineinfile command, but it 
>>> looks like this command does not resolve variables. See my playbook snippet 
>>> below
>>>
>>> #in my playbook, {{ kibana_doc_root }}, {{ kibana_version }}, 
>>> {{kibana_config_file}}, {{elasticsearch_URL}}, {{ elasticsearch_port }} 
>>> have been defined
>>>
>>> The following snippet can successfully change the file content in 
>>> config.js, but {{elasticsearch_URL}} is not resolved (i.e. the line shows 
>>> {{elasticsearch_URL}} as is):
>>>
>>> -----   Snippet 1   -------------
>>> - name: debug variables
>>>   debug: msg=" variable concatication = {{ kibana_doc_root }}/{{ 
>>> kibana_version }}/{{kibana_config_file}}"
>>>
>>> - name: Replace the URI of the ElasticSearch service in config.js on 
>>> Kibana server
>>>   lineinfile:
>>>     dest=/var/www/kibana/kibana-3.0.0milestone4/config.js
>>>     regexp="(elasticsearch.* \"http.*)$"
>>>     state=present
>>>     line="elasticsearch':' \" {{ elasticsearch_URL }}:{{ 
>>> elasticsearch_port }} \" "
>>> --------------------
>>>
>>>
>>>
>>>
>>>
>>>
>>> The following snippet cause an error of "failed: [kibana] => {"failed": 
>>> true, "item": "", "rc": 257}
>>> msg: Destination 
>>> {{kibana_doc_root}}/{{kibana_version}}/{{kibana_config_file}} does not 
>>> exist !"
>>>
>>> -----------------  Snippet 2  --------
>>> - name: debug variables
>>>   debug: msg=" variable concatication = {{ kibana_doc_root }}/{{ 
>>> kibana_version }}/{{kibana_config_file}}"
>>>
>>> - name: Replace the URI of the ElasticSearch service in config.js on 
>>> Kibana server
>>>   lineinfile:
>>>     dest="{{ kibana_doc_root }}/{{ kibana_version 
>>> }}/{{kibana_config_file}}"
>>>     regexp="(elasticsearch.* \"http.*)$"
>>>     state=present
>>>     line="elasticsearch':' \" {{ elasticsearch_URL }}:{{ 
>>> elasticsearch_port }} \" "
>>> --------------------------------
>>>
>>>
>>>  -- 
>>> 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/c05b0e63-ea8c-4e17-8f13-2968b068ec81%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/ansible-project/c05b0e63-ea8c-4e17-8f13-2968b068ec81%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/c27f4add-5bde-4f4e-9d4d-ca0013631dc9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to