Hi
On Tue, Nov 18, 2014 at 10:55:42AM -0800, Thomas Krahn wrote:
> Hi All
>
> i'm trying to migrate my Oracle installation from Puppet to Ansible. As i need
> severyl ORACLE_HOME on one server i have defned the following dictionary
> variable:
>
> oracle_app_directory=/app
> oracle_db_homes:
> dbhome_1:
> version: 12.1.0
> path: "{{ oracle_app_directory }}/oracle/product/12.1.0/dbhome_1"
> installation_files_directory: /share/oracle/12.1.0/patches
> installation_files:
> - linuxamd64_12c_database_1of2.zip
> - linuxamd64_12c_database_2of2.zip
> unpack_directory: /share/oracle/12.1.0/unpacked
> dbhome_2:
> version: 11.2.0
> path: "{{ oracle_app_directory }}/oracle/product/11.2.0/dbhome_1"
> installation_files_directory: /share/oracle/11.2.0/patches
> installation_files:
> - linuxamd64_11g_database_1of2.zip
> - linuxamd64_11g_database_2of2.zip
> unpack_directory: /share/oracle/11.2.0/unpacked
>
> I need to loop over the dictionary (oracle_db_homes) to unpack the files
> (installation_files) for each defined ORACLE_HOME into a directory
> (unpack_directory).
>
> How can i do that with Ansible ?
http://docs.ansible.com/playbooks_loops.html#looping-over-hashes
should help. For example:
tasks:
- name: Do clever stuff
command: echo {{item.key}}: Oracle version {{item.value.version}} goes
into {{item.value.path}}
with_dict: oracle_db_homes
But your data structure looks a bit odd to me: Does each entry in
oracle_db_homes need to have a name? If not, you can define it as an
array rather than a dict/hash:
oracle_db_homes:
- version: 12.1.0
path: "{{oracle_app_directory}}/oracle/somewhere/here"
- version: 11.2.0
path: "{{oracle_app_directory}}/oracle/somewhere/else"
Hope this helps
--
Karl E. Jorgensen
--
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/20141118212945.GA25922%40hawking.
For more options, visit https://groups.google.com/d/optout.