2016-09-08 17:08:33 +02:00
---
- block :
- name : Install the gdebi tool
apt : pkg=gdebi-core state=latest update_cache=yes cache_valid_time=1800
2017-03-20 23:00:55 +01:00
- name : Install the apparmor utilities
apt : pkg=apparmor-utils state=present update_cache=yes cache_valid_time=1800
2016-09-08 17:08:33 +02:00
- name : Download the rstudio server deb package
2017-02-10 14:02:23 +01:00
# get_url: url={{ rstudio_download_url }} dest=/srv/{{ rstudio_file }}
shell : cd /srv ; wget {{ rstudio_download_url }}
args :
creates : /srv/{{ rstudio_file }}
2016-09-08 17:08:33 +02:00
register : rstudio_download
- name : Install the rstudio server package
command : gdebi -n -q /srv/{{ rstudio_file }}
2018-08-09 18:48:09 +02:00
when : rstudio_download is changed
2016-09-08 17:08:33 +02:00
2017-03-20 23:00:55 +01:00
- name : Change the apparmor behaviour to complain, otherwise it cannot read the nslcd socket
2017-07-07 00:50:19 +02:00
shell : RETVAL='' ; if [ -x /usr/sbin/apparmor_status ] ; then APPARMOR_STATE=$( /usr/sbin/apparmor_status ) ; RETVAL=$? ; if [ $RETVAL -eq 0 ] ; then aa-complain /usr/lib/rstudio-server/bin/rserver ; fi ; fi
2017-03-20 23:00:55 +01:00
when : rstudio_enabled
2016-09-08 17:08:33 +02:00
- name : Ensure that rstudio server is enabled and running
service : name=rstudio-server state=started enabled=yes
when : rstudio_enabled
- name : Ensure that rstudio server is disabled and stopped
service : name=rstudio-server state=stopped enabled=no
when : not rstudio_enabled
2017-06-07 16:02:02 +02:00
- name : Install bc, needed by the script that kills abusive jobs
2017-06-07 16:01:14 +02:00
apt : pkg=bc state=present update_cache=yes cache_valid_time=3600
when : rstudio_install_kill_script
tags : [ 'rstudio' , 'rstudio_server' , 'rstudio_kill_rogues' ]
2017-06-07 16:02:02 +02:00
- name : Install a script that kills the abusive job processes
2017-06-06 19:47:22 +02:00
copy : src=kill-rogue-jobs dest=/usr/local/bin/kill-rogue-jobs owner=root group=root mode=0755
when : rstudio_install_kill_script
tags : [ 'rstudio' , 'rstudio_server' , 'rstudio_kill_rogues' ]
2017-06-07 16:02:02 +02:00
- name : Install a cron job that kills the abusive jobs
2017-06-06 19:47:22 +02:00
cron : name="Kill rogue jobs" job="/usr/local/bin/kill-rogue-jobs" user=root minute="{{ rstudio_kill_script_frequency }}"
when : rstudio_install_kill_script
tags : [ 'rstudio' , 'rstudio_server' , 'rstudio_kill_rogues' ]
2016-09-08 17:08:33 +02:00
when : rstudio_install_server
tags : [ 'rstudio' , 'rstudio_server' ]
- block :
- name : Ensure that rstudio server is disabled and stopped
service : name=rstudio-server state=stopped enabled=no
- name : Remove the rstudio-server and gdebi packages
apt : pkg={{ item }} state=absent
with_items :
- gdebi
- rstudio-server
2017-06-07 16:02:02 +02:00
- name : Remove the script that kills the abusive job processes
2017-06-06 19:47:22 +02:00
file : dest=/usr/local/bin/kill-rogue-jobs state=absent
2017-06-07 16:02:02 +02:00
- name : Remove the cron job that kills the abusive jobs
2017-06-06 19:47:22 +02:00
cron : name="Kill rogue jobs" job="/usr/local/bin/kill-rogue-jobs" user=root minute="{{ rstudio_kill_script_frequency }}" state=absent
2016-09-08 17:08:33 +02:00
when : not rstudio_install_server
tags : [ 'rstudio' , 'rstudio_server' ]