ansible-roles/thredds/tasks/main.yml

83 lines
4.3 KiB
YAML

---
- block:
- name: Remove the Thredds webapp directory
file: path={{ item.instance_path }}/webapps/{{ thredds_app_name | lower }} state=absent
with_items: '{{ tomcat_m_instances }}'
notify: tomcat instances restart
when: not thredds_install or thredds_upgrade
tags: [ 'thredds', 'tomcat' ]
- block:
- name: Create the Thredds webapp directory
file: path={{ item.instance_path }}/webapps/{{ thredds_app_name | lower }} state=directory owner={{ item.user }} group={{ item.user }}
with_items: '{{ tomcat_m_instances }}'
- name: Create the Thredds data directory
file: path={{ thredds_data_content_dir }} state=directory owner={{ item.user }} group={{ item.user }}
with_items: '{{ tomcat_m_instances }}'
- name: Check if the configuration files were already initialized with our versions
stat: path={{ thredds_data_content_dir }}/thredds/.conf_initialized
register: thredds_skip_conf
tags: [ 'thredds', 'tomcat', 'thredds_conf' ]
- name: Install the Thredds data configuration files
template: src={{ item[1] }}.j2 dest={{ thredds_data_content_dir }}/thredds/{{ item[1] }} owner={{ item.0.user }} group={{ item.0.user }} mode=644
with_nested:
- '{{ tomcat_m_instances }}'
- [ 'threddsConfig.xml', 'catalog.xml', 'wmsConfig.xml' ]
notify: tomcat instances restart
when: not thredds_skip_conf.stat.exists
tags: [ 'thredds', 'tomcat', 'thredds_conf' ]
- name: Create the file that states that the thredds instance has been configured
copy: content="initialized by ansible" dest={{ thredds_data_content_dir }}/thredds/.conf_initialized mode=0400
register: thredds_skip_conf
tags: [ 'thredds', 'tomcat', 'thredds_conf' ]
- name: Create the custom palettes directory
file: dest={{ thredds_data_content_dir }}/thredds/customPalettes state=directory owner={{ item.user }} group={{ item.user }}
when: thredds_palettes_customisation
with_items: '{{ tomcat_m_instances }}'
tags: [ 'thredds', 'tomcat', 'thredds_custom_palettes' ]
- name: Install the custom palettes
unarchive: src=customPalettes.tar.gz dest={{ thredds_data_content_dir }}/thredds/customPalettes/ remote_src=no owner={{ item.user }} group={{ item.user }}
args:
creates: '{{ thredds_data_content_dir }}/thredds/customPalettes/occam.pal'
with_items: '{{ tomcat_m_instances }}'
notify: tomcat instances restart
when: thredds_palettes_customisation
tags: [ 'thredds', 'tomcat', 'thredds_custom_palettes' ]
- name: Get the thredds war file
maven_artifact: artifact_id={{ thredds_name }} version={{ thredds_version | default(omit) }} group_id={{ thredds_group_id }} extension={{ thredds_extension | default('war') }} repository_url={{ thredds_repository_url }} dest={{ thredds_download_directory }}/{{ thredds_file }}
- name: Add the netcdf nschloe ppa
apt_repository: repo='ppa:nschloe/netcdf-backports' update_cache=yes
- name: Install the NetCDF
apt: name={{ item }} state=latest update_cache=yes cache_valid_time=3600
with_items: 'netcdf-bin'
- name: Unarchive the thredds war
unarchive: copy=no src={{ thredds_download_directory }}/{{ thredds_file }} dest={{ item.instance_path }}/webapps/{{ thredds_app_name | lower }} creates={{ item.instance_path }}/webapps/{{ thredds_app_name | lower }}/WEB-INF/lib owner={{ item.user }} group={{ item.user }}
with_items: '{{ tomcat_m_instances }}'
notify: tomcat instances restart
- name: Install the Thredds webapp configuration files
template: src=web.xml.j2 dest={{ item.instance_path }}/webapps/{{ thredds_app_name | lower }}/WEB-INF/web.xml owner={{ item.user }} group={{ item.user }} mode=644
with_items: '{{ tomcat_m_instances }}'
notify: tomcat instances restart
tags: [ 'thredds', 'tomcat', 'thredds_conf', 'thredds_webxml' ]
- name: Install the Thredds log4j configuration file
template: src=log4j2.xml.j2 dest={{ item.instance_path }}/webapps/{{ thredds_app_name | lower }}/WEB-INF/classes/log4j2.xml owner=root group=root mode=0444
with_items: '{{ tomcat_m_instances }}'
tags: [ 'thredds', 'tomcat', 'thredds_conf', 'thredds_log4j' ]
when: thredds_install
tags: [ 'thredds', 'tomcat' ]