Skip to content
Snippets Groups Projects
Forked from rc / hpc-factory
290 commits behind the upstream repository.
main.yml 2.41 KiB
---
- name: Create base directories
  ansible.builtin.file:
    path: "{{ item.dir }}"
    state: directory
    mode: "{{ item.mode }}"
  loop:
    - { dir: /local, mode: '0777' }
    - { dir: /scratch, mode: '0755' }
    - { dir: /share, mode: '0755' }
    - { dir: /data/rc/apps, mode: '0755' } # this is only required for the symlink to be happy
    - { dir: /data/user, mode: '0755' }
    - { dir: /data/project, mode: '0755' }

- name: Remove unused entry in master map
  ansible.builtin.replace:
    dest: /etc/auto.master
    regexp: '{{ item.regexp }}'
    replace: '{{ item.replace }}'
    backup: true
  loop:
    - { regexp: '^(/misc)', replace: '#\1' }
    - { regexp: '^(/net)', replace: '#\1' }
    - { regexp: '^(\+auto.master)', replace: '#\1' }

- name: Add master map file
  ansible.builtin.lineinfile:
    path: "/etc/auto.master.d/gpfs.autofs"
    line: "{{ item.mount_point }} /etc/auto.{{ item.map_name }}"
    create: yes
  loop:
    - { mount_point: "/cm/shared", map_name: "cm-share" }
    - { mount_point: "/data/project", map_name: "data-project" }
    - { mount_point: "/data/user", map_name: "data-user" }
    - { mount_point: "/data/rc/apps", map_name: "data-rc-apps" }
    - { mount_point: "/scratch", map_name: "scratch" }
    - { mount_point: "/home", map_name: "home" }

- name: Set up autofs map files
  ansible.builtin.lineinfile:
    path: "/etc/auto.{{ item.map_name }}"
    line: "{{ item.key }} -{{ item.opts }} {{ item.src }}"
    create: true
  loop:
    - { map_name: "cm-share", key: "*", src: "gpfs.rc.uab.edu:/data/cm/shared-8.2/&", opts: "fstype=nfs,vers=3,_netdev,defaults" }
    - { map_name: "data-project", key: "*", src: "gpfs.rc.uab.edu:/data/project/&", opts: "fstype=nfs,vers=3,_netdev,defaults" }
    - { map_name: "data-user", key: "*", src: "gpfs.rc.uab.edu:/data/user/&", opts: "fstype=nfs,vers=3,_netdev,local_lock=posix,defaults" }
    - { map_name: "data-rc-apps", key: "*", src: "gpfs.rc.uab.edu:/data/rc/apps/&", opts: "fstype=nfs,vers=3,_netdev,defaults" }
    - { map_name: "scratch", key: "*", src: "gpfs.rc.uab.edu:/scratch/&", opts: "fstype=nfs,vers=3,_netdev,local_lock=posix,defaults" }
    - { map_name: "home", key: "*", src: ":/data/user/home/&", opts: 'fstype=bind' }

- name: Create symbolic links
  ansible.builtin.file:
    src: "{{ item.src }}"
    dest: "{{ item.dest }}"
    owner: root
    group: root
    force: yes
    state: link
  loop:
    - { src: /data/rc/apps, dest: /share/apps }