Ansible tips and tricks
From Lolly's Wiki
Gathering facts from file
Variables from an Oracle response file
- name: "Get variables for version {{ oracle_version }} from response file"
shell: |
awk -F '=' '/{{ item }}/{print $2;}' /install/tepmplate_{{ oracle_version }}/db_{{ oracle_version | lower}}.rsp
register: oracle_response_variables
with_items:
- ORACLE_HOME
- ORACLE_BASE
- INVENTORY_LOCATION
tags:
- oracle
- oracle_install
- name: Set facts from response file to oracle_environment
set_fact:
"{{ 'oracle_' + item.item | lower | regex_replace('oracle_','') }}": "{{ item.stdout }}"
oracle_environment: "{{oracle_environment|default([]) + [ {item.item: item.stdout} ] }}"
with_items:
- "{{ oracle_response_variables.results }}"
tags:
- oracle
- oracle_install
This snippet gets some variables from the response file and puts them into an environment variable oracle_environment and sets the variable name itself (prepended with oracle_ if not already there). The variable oracle_environment can be used for environment: when you use shell:.