Good deal! BTW, please don't run 1.5.4.
The current ansible is 1.6.7, and contains security fixes which you should apply. On Mon, Jul 21, 2014 at 9:08 PM, Sean <[email protected]> wrote: > 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 > <https://groups.google.com/d/msgid/ansible-project/c27f4add-5bde-4f4e-9d4d-ca0013631dc9%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/CA%2BnsWgwfrKL6FxLk5_pdaLJEvP20UY2LgZxR2TT-_gKytiwuEg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
