--- - 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' ]