Amazing. These solutions worked! Thank you!!

On Tuesday, November 19, 2019 at 3:35:17 PM UTC-5, J Hawkesworth wrote:
>
> I think the issue is your respfile fact contains a list, not a string, 
> hence the [ ] in the Debug output. 
>
> There are a couple of ways to fix that.  You can either do it when you are 
> creating the fact (use the 'first' filter to just get the first element of 
> the list), like this.
>
>   - name: Set Response Variable - respfile
>     set_fact:
>       respfile: "{{ result.stdout | regex_search(regexp,'\\1') |first}}"
>
> Or you could do it when you use the respfile fact
>
>   - name: Uninstall old oracle client
>     command: /bin/sh -c "/opt/oracle/product/12.1.0/
> deinstall/deinstall -silent -paramfile {{ respfile|first }}"
>     become: true
>     become_user: orclient
>     become_method: sudo
>
> Instead of using a filter you can use array syntax:
>
>   - name: Uninstall old oracle client
>     command: /bin/sh -c "/opt/oracle/product/12.1.0/
> deinstall/deinstall -silent -paramfile {{ respfile[0] }}"
>     become: true
>     become_user: orclient
>     become_method: sudo
>
> Hope this helps,
>
> Jon
>
> On Tuesday, November 19, 2019 at 6:50:04 PM UTC, Michael wrote:
>>
>> I'm creating a script that dynamically generates a response file for an 
>> uninstall and stores the response file in a var for reuse in the uninstall 
>> command. My play :
>>
>> =============================================
>> - name:  UnInstall Oracle
>>   hosts: localhost
>>   tags: oracle
>>   become: yes
>>   become_method: sudo
>>
>>   tasks:
>>   - name: Generate Response File for Uninstall
>>     command: /bin/sh -c  "/opt/oracle/product/12.1.0/deinstall/deinstall 
>> -silent -checkonly"
>>     register: result
>>     become: true
>>     become_user: orclient
>>     become_method: sudo
>>
>>   - name: Set Response Variable - respfile
>>     set_fact:
>>       respfile: "{{ result.stdout | regex_search(regexp,'\\1') }}"
>>     vars:
>>       regexp: 'Location of response file generated...([^"]+rsp)'
>>
>> #  - name: Debug
>> #    debug:
>> #      var: respfile
>>       
>>   - name: Uninstall old oracle client
>>     command: /bin/sh -c "/opt/oracle/product/12.1.0/deinstall/deinstall 
>> -silent -paramfile {{ respfile }}"
>>     become: true
>>     become_user: orclient
>>     become_method: sudo
>>
>> =============================================
>>
>> My debug task when run prints as follows:
>>
>> TASK [Debug] 
>> ***************************************************************************************************************
>> ok: [localhost] => {
>>     "respfile": [
>>         
>> "/tmp/deinstall2019-11-19_11-29-40AM/response/deinstall_OraClient12Home1.rsp"
>>     ]
>> }
>>
>>
>> And my uninstall task fails with error message:
>>
>>
>> fatal: [localhost]: FAILED! => {"changed": true, "cmd": 
>> "/opt/oracle/product/12.1.0/deinstall/deinstall -silent -paramfile 
>> [u'/tmp/deinstall2019-11-19_11-35-44AM/response/deinstall_OraClient12Home1.rsp']",
>>  
>>
>>
>> The error shows added characters to the response file path and that 
>> causes it to fail. 
>>
>> How can i make the response file appear without the added characters?
>>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/132a7a2f-fc85-413b-9afd-2fb38841af6e%40googlegroups.com.

Reply via email to