--- - name: Create server config template: src: server.xml.j2 dest: "{{ atl_product_installation_versioned }}/apache-tomcat/conf/server.xml" - name: Set the minimum heap size (Xms) lineinfile: path: "{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh" regexp: '^(.*)Xms(\d+\w)(\s.*)$' line: '\1Xms{{ atl_jvm_heap }}\3' backrefs: yes - name: Set the maxmimum heap size (Xmx) lineinfile: path: "{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh" regexp: '^(.*)Xmx(\d+\w)(\s.*)$' line: '\1Xmx{{ atl_jvm_heap }}\3' backrefs: yes - name: Set Crowd home directory in crowd-init.properties file lineinfile: path: "{{ atl_product_installation_versioned }}/crowd-webapp/WEB-INF/classes/crowd-init.properties" line: 'crowd.home={{ atl_product_home }}' - name: Set the Tomcat environment lineinfile: path: "{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh" insertafter: "EOF" line: 'export CATALINA_OPTS="${CATALINA_OPTS} {{ atl_catalina_opts }} {{ atl_catalina_opts_extra }}"' - name: Set the Crowd node name via CATALINA_OPTS lineinfile: path: "{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh" insertafter: "EOF" line: export CATALINA_OPTS="${CATALINA_OPTS} -Dcluster.node.name={{ ansible_ec2_instance_id }}-{{ ansible_ec2_local_ipv4 }}" - name: Set JAVA_HOME lineinfile: path: "{{ atl_product_installation_versioned }}/apache-tomcat/bin/setenv.sh" insertafter: "EOF" line: 'export JAVA_HOME=/usr/lib/jvm/jre-{{ java_version }}-openjdk' - name: Create application directories file: path: "{{ item }}" state: directory mode: 0750 owner: "{{ atl_product_user }}" group: "{{ atl_product_user }}" with_items: - "{{ atl_product_home }}" - "{{ atl_product_home_shared }}" - "{{ atl_product_shared_plugins }}" changed_when: false # For Molecule idempotence check - name: Limit permissions on the installation directory file: path: "{{ atl_product_installation_versioned }}" owner: "{{ atl_product_user }}" group: "{{ atl_product_user }}" mode: "u=rwX,g=rX,o=rX" recurse: true with_items: - "{{ atl_installer_temp }}" - "{{ atl_product_installation_versioned }}" - "{{ atl_product_version_cache_dir }}" changed_when: false # For Molecule idempotence check - name: Grant access to the product working directories file: path: "{{ item }}" state: directory mode: "u=rwX,g=rX,o-rwx" owner: "{{ atl_product_user }}" group: "{{ atl_product_user }}" recurse: true with_items: - "{{ atl_product_installation_versioned }}/apache-tomcat/logs" - "{{ atl_product_installation_versioned }}/apache-tomcat/temp" - "{{ atl_product_installation_versioned }}/apache-tomcat/work" changed_when: false # For Molecule idempotence check - name: Symlink Crowd shared home directory file: src: "{{ atl_product_home_shared }}" dest: "{{ atl_product_home }}/shared" state: link owner: "{{ atl_product_user }}" group: "{{ atl_product_user }}" changed_when: false # For Molecule idempotence check - name: Assert baseurl to same as atl_proxy_name postgresql_query: login_host: "{{ atl_db_host }}" login_user: "{{ atl_jdbc_user }}" login_password: "{{ atl_jdbc_password }}" db: "{{ atl_jdbc_db_name }}" query: > update cwd_property set property_value=%s where property_name = 'base.url' positional_args: - "{{ atl_tomcat_scheme }}://{{ atl_proxy_name }}{{ atl_tomcat_contextpath }}/crowd" when: - atl_proxy_name is defined - atl_tomcat_scheme is defined ignore_errors: yes # For Molecule as it has no db test framework included