From 042ac78b6b76b242419044c0c067a0fb2dcdddb8 Mon Sep 17 00:00:00 2001 From: Vladimir Still <git@vstill.eu> Date: Tue, 1 Feb 2022 14:49:55 +0100 Subject: [PATCH] ansible: Auto-materialize homes for users added to the home map --- ansible/roles/pds_mount/tasks/main.yml | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/ansible/roles/pds_mount/tasks/main.yml b/ansible/roles/pds_mount/tasks/main.yml index 55367d5..811a667 100644 --- a/ansible/roles/pds_mount/tasks/main.yml +++ b/ansible/roles/pds_mount/tasks/main.yml @@ -1,3 +1,30 @@ +- name: Create homes + block: + - name: "Stat homes" + stat: + path: "/export/home/{{item}}" + register: home + loop: "{{mount.home.pontos[inventory_hostname | regex_replace('pontos([0-9]*).fi.muni.cz', '\\1')]}}" + + - name: "Create home dir" + file: + state: directory + path: "/export/home/{{item}}" + owner: "{{item}}" + group: "paradise" + loop: "{{home.results | map(attribute='item')}}" + register: home_created + + - name: "Copy skeleton" + copy: + src: "/etc/skel/{{item.1}}" + dest: "/export/home/{{item.0.item}}" + remote_src: true + owner: "{{item.0.item}}" + group: "paradise" + loop: "{{home_created.results | selectattr('changed') | product(['.bash_logout', '.bashrc', '.profile']) | list}}" + when: inventory_hostname == "pontos01.fi.muni.cz" or inventory_hostname == "pontos02.fi.muni.cz" or inventory_hostname == "pontos03.fi.muni.cz" or inventory_hostname == "pontos04.fi.muni.cz" + - name: Setup home exports template: src: home.exports.j2 -- GitLab