--- - name: Run distro specific tasks for samba-glusterfs.setup include_tasks: file: "{{ distro.actions_file }}" - name: Enable firewall for samba firewalld: service: samba permanent: yes state: enabled - name: Create fresh directory /etc/samba/smb.shares to contain share definition block: - file: path: /etc/samba/smb.shares/ state: absent - file: path: /etc/samba/smb.shares/ state: directory mode: '0755' - name: Create smb.conf template: src: smb.conf.j2 dest: /etc/samba/smb.conf owner: root group: root mode: '0644' - name: Add share configuration block: - name: Create share conf file template: src: smb_share.conf.j2 dest: "/etc/samba/smb.shares/{{ samba_share }}.conf" vars: cluster_volume: "{{ item.cluster_volume }}" samba_share: "{{ item.share_name }}" with_items: "{{ samba_shares }}" - name: Include share configuration into smb.conf lineinfile: path: "/etc/samba/smb.conf" line: "include = /etc/samba/smb.shares/{{ item.share_name }}.conf" insertafter: EOF with_items: "{{ samba_shares }}" - name: Mount glusterfs using fuse mount and set world writable permissions include_tasks: file: "fix_share_permissions.yml" vars: volume: "localhost:/{{ item.cluster_volume }}" with_items: "{{ samba_shares }}" run_once: true - name: Create test users user: name: "{{ item.username }}" uid: "{{ item.uid }}" state: present with_items: "{{ samba_users }}" - name: Create test users with smbpasswd shell: (echo {{ item.password }}; echo {{ item.password }})|smbpasswd -a {{ item.username }} with_items: "{{ samba_users }}" run_once: yes