Skip to content
Snippets Groups Projects
main.yml 2.5 KiB
Newer Older
---
- 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: "/-", map_name: "scratch" }
    - { mount_point: "/home", map_name: "home" }

- name: Set up autofs map files
Bo-Chun Chen's avatar
Bo-Chun Chen committed
  ansible.builtin.lineinfile:
    path: "/etc/auto.{{ item.map_name }}"
    line: "{{ item.key }} -{{ item.opts }} {{ item.src }}"
    create: true
    - { 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: "/scratch", 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 }
Bo-Chun Chen's avatar
Bo-Chun Chen committed

- name: Enable autofs service
  ansible.builtin.service:
    name: autofs
    enabled: true