diff --git a/roles/enable_lmod/tasks/main.yml b/roles/enable_lmod/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..4676f706030c27b4b86e35a342e26fb3ae9ad74b --- /dev/null +++ b/roles/enable_lmod/tasks/main.yml @@ -0,0 +1,33 @@ +--- +- include_vars: "{{ ansible_os_family }}.yml" + +- name: install lua + yum: name={{ item }} state=installed + with_items: + - lua + - lua-filesystem + - lua-posix + sudo: true + when: ansible_os_family == 'RedHat' + +- name: install lua + apt: name={{ item }} state=installed + with_items: + - lua5.2 + - lua5.2 + - lua-filesystem + - lua-bitop + - lua-posix + - liblua5.2-0 + - liblua5.2-dev + - tcl + sudo: true + when: ansible_os_family == 'Debian' + +- name: link bash + file: src={{ soft_dir }}/lmod/lmod/init/bash dest=/etc/profile.d/lmod.sh state=link + sudo: true + +- name: link csh + file: src={{ soft_dir }}/lmod/lmod/init/cshrc dest=/etc/profile.d/lmod.csh state=link + sudo: true diff --git a/roles/enable_lmod/vars/Debian.yml b/roles/enable_lmod/vars/Debian.yml new file mode 100644 index 0000000000000000000000000000000000000000..f1a8d1448746c5492a52b1e29983120d6faf9831 --- /dev/null +++ b/roles/enable_lmod/vars/Debian.yml @@ -0,0 +1,2 @@ +--- +lua_include: /usr/include/lua5.2 diff --git a/roles/enable_lmod/vars/RedHat.yml b/roles/enable_lmod/vars/RedHat.yml new file mode 100644 index 0000000000000000000000000000000000000000..533e08b0df15750498e38a23db460db834944a9b --- /dev/null +++ b/roles/enable_lmod/vars/RedHat.yml @@ -0,0 +1,2 @@ +--- +lua_include: /usr/local diff --git a/roles/enable_lmod/vars/main.yml b/roles/enable_lmod/vars/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..ce2423328fad285e5b22b30a5257051c4475c96b --- /dev/null +++ b/roles/enable_lmod/vars/main.yml @@ -0,0 +1,4 @@ +--- +source_dir: /tmp +soft_dir: /usr/local +lmod_version: 5.8.6 diff --git a/roles/link_usr_local/tasks/main.yml b/roles/link_usr_local/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..7f3e211f98ec1ec266cf0117b663e77f05e5c232 --- /dev/null +++ b/roles/link_usr_local/tasks/main.yml @@ -0,0 +1,13 @@ +--- +- name: stat usrlocal + stat: path={{ dest }} + register: stat_usrlocal + +- name: mv + command: mv /usr/local /usr/local_old + when: stat_usrlocal.stat.isdir == True + sudo: true + +- name: link + file: src="{{ src }}" dest="{{ dest }}" state=link + sudo: true diff --git a/roles/lmod/tasks/main.yml b/roles/lmod/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..7c63b8f05e12e703f84c1442e620cbfc0e38521b --- /dev/null +++ b/roles/lmod/tasks/main.yml @@ -0,0 +1,44 @@ +--- +- include_vars: "{{ ansible_os_family }}.yml" + +- name: install lua + yum: name={{ item }} state=installed + with_items: + - lua + - lua-filesystem + - lua-posix + sudo: true + when: ansible_os_family == 'RedHat' + +- name: install lua + apt: name={{ item }} state=installed + with_items: + - lua5.2 + - lua5.2 + - lua-filesystem + - lua-bitop + - lua-posix + - liblua5.2-0 + - liblua5.2-dev + - tcl + sudo: true + when: ansible_os_family == 'Debian' + +- name: Download LMOD + get_url: + url=http://downloads.sourceforge.net/project/lmod/Lmod-{{ lmod_version }}.tar.bz2 + dest={{source_dir}}/Lmod-{{ lmod_version }}.tar.bz2 + mode=0444 + +- name: Uncompress LMOD + unarchive: + src={{ source_dir }}/Lmod-{{ lmod_version }}.tar.bz2 + dest={{ source_dir }} + copy=no + creates={{source_dir}}/Lmod-{{ lmod_version }}/README + +- name: Compile and install Lmod + shell: cd {{ source_dir }}/Lmod-{{ lmod_version }}; ./configure --prefix={{ soft_dir }} --with-mpathSearch=YES --with-caseIndependentSorting=YES && make install LUA_INCLUDE={{ lua_include }} + args: + creates: "{{ soft_dir }}/lmod/{{ lmod_version }}" + sudo: true diff --git a/roles/lmod/vars/Debian.yml b/roles/lmod/vars/Debian.yml new file mode 100644 index 0000000000000000000000000000000000000000..f1a8d1448746c5492a52b1e29983120d6faf9831 --- /dev/null +++ b/roles/lmod/vars/Debian.yml @@ -0,0 +1,2 @@ +--- +lua_include: /usr/include/lua5.2 diff --git a/roles/lmod/vars/RedHat.yml b/roles/lmod/vars/RedHat.yml new file mode 100644 index 0000000000000000000000000000000000000000..533e08b0df15750498e38a23db460db834944a9b --- /dev/null +++ b/roles/lmod/vars/RedHat.yml @@ -0,0 +1,2 @@ +--- +lua_include: /usr/local diff --git a/roles/lmod/vars/main.yml b/roles/lmod/vars/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..ce2423328fad285e5b22b30a5257051c4475c96b --- /dev/null +++ b/roles/lmod/vars/main.yml @@ -0,0 +1,4 @@ +--- +source_dir: /tmp +soft_dir: /usr/local +lmod_version: 5.8.6 diff --git a/roles/slurm-from-source/tasks/installCgroup.yml b/roles/slurm-from-source/tasks/installCgroup.yml index b81bb6b2fb8b6194744f62ab839b090355efe761..9b21e1b4d7fba85c0b47e8ce12663faedd8b19f4 100644 --- a/roles/slurm-from-source/tasks/installCgroup.yml +++ b/roles/slurm-from-source/tasks/installCgroup.yml @@ -13,6 +13,7 @@ - libcgmanager0 sudo: true when: ansible_os_family == "Debian" + sudo: true - name: config cgroup.conf file template: dest={{ slurm_dir }}/etc/cgroup.conf src=cgroup.conf.j2 mode=644 diff --git a/roles/slurm-from-source/tasks/main.yml b/roles/slurm-from-source/tasks/main.yml index 3109758e85483a59295f5242ff797f226793959a..8a22cc68de4a29ebaaab94642227c483ace4c061 100644 --- a/roles/slurm-from-source/tasks/main.yml +++ b/roles/slurm-from-source/tasks/main.yml @@ -87,6 +87,7 @@ - mysql-client - python-mysqldb - libmysqlclient-dev + - lua5.2 when: ansible_os_family == "Debian" - include: installMungeFromSource.yml @@ -151,7 +152,7 @@ delegate_to: "{{ slurmctrl }}" run_once: true sudo: true - when: slurm_lua + when: slurm_lua is defined - include: installCgroup.yml - include: installNhc.yml diff --git a/roles/slurm-from-source/templates/slurm.conf.j2 b/roles/slurm-from-source/templates/slurm.conf.j2 index 949730f6e30bc6c0edfc56c40c7544c51347c690..b3770b09ec71e4128d0819113dc14982a256a52d 100644 --- a/roles/slurm-from-source/templates/slurm.conf.j2 +++ b/roles/slurm-from-source/templates/slurm.conf.j2 @@ -46,7 +46,7 @@ ReturnToService=1 TaskPlugin=task/cgroup #TaskPlugin=task/affinity #TaskPlugin=task/affinity,task/cgroup -{% if slurm_lua %} +{% if slurm_lua is defined %} JobSubmitPlugins=lua {% endif %} OverTimeLimit=1