forked from ISTI-ansible-roles/ansible-roles
138 lines
6.0 KiB
YAML
138 lines
6.0 KiB
YAML
---
|
|
- block:
|
|
- name: Remove the installed R connector
|
|
file: dest={{ item }} state=absent
|
|
with_items:
|
|
- '{{ smartgears_instance_path }}/webapps/{{ r_connector_name }}'
|
|
- '{{ smartgears_instance_path }}/webapps/{{ r_connector_name }}.{{ r_connector_extension }}'
|
|
notify: Restart smartgears
|
|
|
|
- name: Remove the packages required to enable the LDAP PAM authentication
|
|
become: False
|
|
apt: pkg={{ item }} state=absent
|
|
with_items: '{{ r_connector_deb_pkgs }}'
|
|
|
|
- name: Remove the connector raddusers script
|
|
become: False
|
|
file: dest={{ r_connector_adduserscript }} state=absent
|
|
|
|
- name: Remove the RConfiguration repo
|
|
file: dest={{ r_connector_rprofile_path }} state=absent
|
|
|
|
- name: Remove the cron job that regulary updates the Rprofile
|
|
cron: name="Update the RStudioConfiguration repo" job="cd {{ r_connector_rprofile_path }} ; svn update >/dev/null 2>&1" state=absent
|
|
|
|
become: True
|
|
become_user: '{{ smartgears_user }}'
|
|
when: not r_connector_install
|
|
tags: [ 'smartgears', 'r_connector', 'tomcat' ]
|
|
|
|
- block:
|
|
- name: Get the R Connector war
|
|
maven_artifact: artifact_id={{ r_connector_name }} version={{ r_connector_ver | default('latest') }} group_id={{ r_connector_group_id }} extension={{ r_connector_extension }} repository_url={{ smartgears_global_base_url }} dest={{ smartgears_downloads_dir }}/{{ r_connector_filename }}
|
|
register: r_connector_download
|
|
|
|
- name: Remove the installed R connector before upgrading
|
|
file: dest={{ item }} state=absent
|
|
with_items:
|
|
- '{{ smartgears_instance_path }}/webapps/{{ r_connector_name }}'
|
|
- '{{ smartgears_instance_path }}/webapps/{{ r_connector_name }}.{{ r_connector_extension }}'
|
|
notify: Restart smartgears
|
|
when: r_connector_download is changed
|
|
|
|
- name: Create the R connector webapp directory
|
|
file: dest={{ smartgears_instance_path }}/webapps/{{ r_connector_name }} state=directory
|
|
when: r_connector_download is changed
|
|
|
|
- name: Unarchive the R connector war file
|
|
unarchive: copy=no src={{ smartgears_downloads_dir }}/{{ r_connector_filename }} dest={{ smartgears_instance_path }}/webapps/{{ r_connector_name }}
|
|
args:
|
|
creates: '{{ smartgears_instance_path }}/webapps/{{ r_connector_name }}/WEB-INF/web.xml'
|
|
notify: Restart smartgears
|
|
|
|
- name: Obtain the permission to read the Rstudio secure cookie key
|
|
become_user: root
|
|
file: dest={{ r_connector_rstudio_cookie_key }} mode=640 group={{ smartgears_user }}
|
|
|
|
- name: Install the R connector web.xml template
|
|
template: src=r-web.xml.j2 dest={{ smartgears_instance_path }}/webapps/{{ r_connector_name }}/WEB-INF/web.xml mode=0440
|
|
notify: Restart smartgears
|
|
|
|
- name: Install the R add users script
|
|
become_user: root
|
|
template: src=rusersadd.j2 dest={{ r_connector_adduserscript }} owner=root group=root mode=0555
|
|
|
|
- name: Crete the directory that will host the RConfiguration stuff
|
|
become_user: root
|
|
file: dest={{ r_connector_rprofile_base_dir }} owner={{ d4science_user }} group={{ d4science_user }} state=directory
|
|
|
|
- name: Get the svn repository that provides the .Rprofile
|
|
subversion: repo={{ r_connector_rprofile_svn_url }} dest={{ r_connector_rprofile_path }}
|
|
|
|
- name: Install the cron job that regulary updates the Rprofile
|
|
cron: name="Update the RStudioConfiguration repo" special_time=daily job="cd {{ r_connector_rprofile_path }} ; svn update >/dev/null 2>&1"
|
|
|
|
become: True
|
|
become_user: '{{ smartgears_user }}'
|
|
when: r_connector_install
|
|
tags: [ 'smartgears', 'r_connector', 'tomcat' ]
|
|
|
|
- block:
|
|
- name: Reconfigure the Java environment for R
|
|
shell: export JAVA_HOME=/usr/lib/jvm/java-8-oracle ; export J2SDKDIR=/usr/lib/jvm/java-8-oracle ; export J2REDIR=/usr/lib/jvm/java-8-oracle/jre ; R CMD javareconf
|
|
|
|
become: True
|
|
become_user: root
|
|
when: r_connector_install
|
|
tags: [ 'smartgears', 'r_connector', 'tomcat' ]
|
|
|
|
- block:
|
|
- name: Install the packages required to enable the LDAP PAM authentication
|
|
apt: pkg={{ item }} state=present update_cache=yes cache_valid_time=1800
|
|
with_items: '{{ r_connector_deb_pkgs }}'
|
|
|
|
- name: Install the pam ldap configuration. We cannot use the debian tools, they are broken on ubuntu in non interactive mode
|
|
copy: src={{ item }} dest=/etc/pam.d/{{ item }}
|
|
with_items: '{{ r_connector_ldap_map_common }}'
|
|
notify:
|
|
- Restart the NSLCD service
|
|
- Restart the NSCD service
|
|
|
|
- name: Create the ldap-auth-config directory
|
|
file: dest=/etc/auth-client-config/profile.d state=directory
|
|
notify:
|
|
- Restart the NSLCD service
|
|
- Restart the NSCD service
|
|
|
|
- name: Install the ldap-auth-config file
|
|
copy: src=ldap-auth-config dest=/etc/auth-client-config/profile.d/ldap-auth-config
|
|
notify:
|
|
- Restart the NSLCD service
|
|
- Restart the NSCD service
|
|
|
|
- name: Install the nsswitch.conf file
|
|
copy: src=nsswitch.conf dest=/etc/nsswitch.conf
|
|
notify:
|
|
- Restart the NSLCD service
|
|
- Restart the NSCD service
|
|
|
|
- name: Install the nslcd configuration
|
|
template: src=nslcd.conf.j2 dest=/etc/nslcd.conf mode=0640 owner=root group=nslcd
|
|
notify:
|
|
- Restart the NSLCD service
|
|
- Restart the NSCD service
|
|
tags: [ 'smartgears', 'r_connector', 'tomcat', 'r_connector_nslcd_conf' ]
|
|
|
|
- name: Install a script that checks if the ldap authentication is working, and if not it restarts the ns(l)cd daemons
|
|
copy: src=check_ldap_users dest=/usr/local/bin/check_ldap_users owner=root group=root mode=0555
|
|
tags: [ 'smartgears', 'r_connector', 'tomcat', 'r_connector_check_ldap' ]
|
|
|
|
- name: Add a cron job that runs the ldap users check script
|
|
cron: name="check ldap users" job="/usr/local/bin/check_ldap_users" state=present user=root
|
|
tags: [ 'smartgears', 'r_connector', 'tomcat', 'r_connector_check_ldap' ]
|
|
|
|
when:
|
|
- r_connector_install
|
|
- r_connector_ldap_enabled
|
|
tags: [ 'smartgears', 'r_connector', 'tomcat' ]
|