Skip to content
Snippets Groups Projects
Commit 8e070350 authored by Lars Beckers's avatar Lars Beckers
Browse files

lint yaml files

parent 74b4658d
Branches
No related tags found
No related merge requests found
Showing
with 370 additions and 231 deletions
---
extends: default
rules:
comments-indentation:
level: warning
document-start:
level: error
empty-lines:
max: 1
empty-values:
forbid-in-flow-mappings: true
forbid-in-block-mappings: true
line-length:
level: warning
octal-values:
forbid-implicit-octal: true
level: warning
...@@ -2,14 +2,18 @@ ...@@ -2,14 +2,18 @@
# file: roles/ad-auth/tasks/kerberos.yml # file: roles/ad-auth/tasks/kerberos.yml
- name: ensure kerberos is installed - name: ensure kerberos is installed
apt: name=krb5-user state=present apt:
name: krb5-user
state: present
tags: tags:
- kerberos - kerberos
- packages
- name: ensure kerberos is configured - name: ensure kerberos is configured
template: src=krb5.conf.j2 dest=/etc/krb5.conf owner=root group=root mode=0644 template:
src: krb5.conf.j2
dest: /etc/krb5.conf
owner: root
group: root
mode: '0644'
tags: tags:
- kerberos - kerberos
- config
...@@ -2,14 +2,18 @@ ...@@ -2,14 +2,18 @@
# file: roles/ad-auth/tasks/ldap.yml # file: roles/ad-auth/tasks/ldap.yml
- name: ensure ldap-utils is installed - name: ensure ldap-utils is installed
apt: name=ldap-utils state=present apt:
name: ldap-utils
state: present
tags: tags:
- ldap - ldap
- packages
- name: ensure proper global ldap configuration - name: ensure proper global ldap configuration
template: src=ldap.conf.j2 dest=/etc/ldap/ldap.conf owner=root group=root mode=0644 template:
src: ldap.conf.j2
dest: /etc/ldap/ldap.conf
owner: root
group: root
mode: '0644'
tags: tags:
- ldap - ldap
- config
...@@ -18,8 +18,10 @@ ...@@ -18,8 +18,10 @@
- meta: flush_handlers - meta: flush_handlers
- name: ensure there is no local users group - name: ensure there is no local users group
lineinfile: path=/etc/group state=absent regexp="^users:" lineinfile:
path: /etc/group
state: absent
regexp: "^users:"
tags: tags:
- groups - groups
- config
- ad-auth - ad-auth
...@@ -2,9 +2,13 @@ ...@@ -2,9 +2,13 @@
# file: roles/ad-auth/tasks/pam.yml # file: roles/ad-auth/tasks/pam.yml
- name: ensure pam applies a general umask - name: ensure pam applies a general umask
copy: src=pam/umask dest=/usr/share/pam-configs/umask owner=root group=root mode=0644 copy:
src: pam/umask
dest: /usr/share/pam-configs/umask
owner: root
group: root
mode: '0644'
notify: notify:
- regenerate pam config - regenerate pam config
tags: tags:
- pam - pam
- config
...@@ -9,41 +9,60 @@ ...@@ -9,41 +9,60 @@
- libnss-sss - libnss-sss
- sssd-tools - sssd-tools
- realmd - realmd
# yamllint disable rule:line-length
- policykit-1 # this is required for realm to discover realms... - policykit-1 # this is required for realm to discover realms...
- adcli # this is required for realm to join realms... - adcli # this is required for realm to join realms...
- packagekit # this is required for realm to i don't know and don't even care anymore... - packagekit # this is required for realm to i don't know and don't even care anymore...
# yamllint enable rule:line-length
- cracklib-runtime - cracklib-runtime
state: present state: present
install_recommends: no install_recommends: false
notify: notify:
- clear sssd cache - clear sssd cache
tags: tags:
- sssd - sssd
- packages
- name: check if our realm is configured - name: check if our realm is configured
shell: realm list | grep "{{ domain }}" shell: realm list | grep "{{ domain }}"
register: current_realms register: current_realms
changed_when: "current_realms.rc != 0" changed_when: "current_realms.rc != 0"
failed_when: "current_realms.rc != 0 and current_realms.rc != 1" failed_when: "current_realms.rc != 0 and current_realms.rc != 1"
tags:
- sssd
- block: - block:
- name: discover our realm - name: discover our realm
command: realm discover -v "{{ domain }}" command: realm discover -v "{{ domain }}"
tags:
- sssd
- name: get a kerberos ticket - name: get a kerberos ticket
# yamllint disable-line rule:line-length
shell: echo "{{ lookup('passwordstore', ad_admin_password) }}" | kinit Administrator shell: echo "{{ lookup('passwordstore', ad_admin_password) }}" | kinit Administrator
when: debian_version == "jessie" when: debian_version == "jessie"
no_log: True no_log: true
tags:
- sssd
- name: ensure pexpect is installed - name: ensure pexpect is installed
apt: name=python-pexpect state=present apt:
name: python-pexpect
state: present
when: debian_version == "stretch" when: debian_version == "stretch"
tags:
- sssd
- name: get a kerberos ticket - name: get a kerberos ticket
expect: expect:
command: kinit Administrator command: kinit Administrator
responses: responses:
# yamllint disable-line rule:line-length
"Passwor(d|t) for Administrator.*": "{{ lookup('passwordstore', ad_admin_password) }}" "Passwor(d|t) for Administrator.*": "{{ lookup('passwordstore', ad_admin_password) }}"
when: debian_version == "stretch" when: debian_version == "stretch"
no_log: True no_log: true
tags:
- sssd
- name: leave any other realm - name: leave any other realm
command: realm leave command: realm leave
register: result register: result
...@@ -51,38 +70,50 @@ ...@@ -51,38 +70,50 @@
retries: 9001 retries: 9001
delay: 0 delay: 0
failed_when: "result.rc != 0 and result.rc != 1" failed_when: "result.rc != 0 and result.rc != 1"
tags:
- sssd
- name: join our realm - name: join our realm
command: realm join -v "{{ domain }}" command: realm join -v "{{ domain }}"
notify: notify:
- clear sssd cache - clear sssd cache
- restart sssd - restart sssd
tags:
- sssd
- name: destroy kerberos ticket - name: destroy kerberos ticket
command: kdestroy command: kdestroy
tags:
- sssd
when: "current_realms.rc != 0" when: "current_realms.rc != 0"
- name: ensure sssd is configured - name: ensure sssd is configured
template: src=sssd.conf.j2 dest=/etc/sssd/sssd.conf owner=root group=root mode=0600 template:
src: sssd.conf.j2
dest: /etc/sssd/sssd.conf
owner: root
group: root
mode: '0600'
notify: notify:
- restart sssd - restart sssd
- clear sssd cache - clear sssd cache
tags: tags:
- sssd - sssd
- config
- name: ensure sssd is enabled and running - name: ensure sssd is enabled and running
service: name=sssd state=started enabled=yes service:
name: sssd
state: started
enabled: true
tags: tags:
- sssd - sssd
- service
- name: ensure we have a cronjob which renews krb credenitials once a day - name: ensure we have a cronjob which renews krb credenitials once a day
template: template:
src: templates/renew_krb5.j2 src: templates/renew_krb5.j2
dest: /etc/cron.daily/renew_krb5 dest: /etc/cron.daily/renew_krb5
mode: 0755 mode: '0755'
owner: root owner: root
group: root group: root
tags: tags:
- sssd - sssd
...@@ -2,10 +2,13 @@ ...@@ -2,10 +2,13 @@
# file: roles/ad-auth/tasks/sudo.yml # file: roles/ad-auth/tasks/sudo.yml
- name: ensure users of group admin are in the sudoers - name: ensure users of group admin are in the sudoers
template: src=sudo.j2 dest=/etc/sudoers.d/admin owner=root group=root mode=0440 template:
src: sudo.j2
dest: /etc/sudoers.d/admin
owner: root
group: root
mode: '0440'
notify: notify:
- check sudo config - check sudo config
tags: tags:
- sudo - sudo
- config
---
ad_admin_password: samba-admin
...@@ -3,4 +3,3 @@ ...@@ -3,4 +3,3 @@
- name: restart samba-ad-dc server - name: restart samba-ad-dc server
service: name=samba-ad-dc state=restarted service: name=samba-ad-dc state=restarted
...@@ -2,14 +2,18 @@ ...@@ -2,14 +2,18 @@
# file: roles/ad-auth/tasks/kerberos.yml # file: roles/ad-auth/tasks/kerberos.yml
- name: ensure kerberos is installed - name: ensure kerberos is installed
apt: name=krb5-user state=present apt:
name: krb5-user
state: present
tags: tags:
- kerberos - kerberos
- packages
- name: ensure kerberos is configured - name: ensure kerberos is configured
template: src=krb5.conf.j2 dest=/etc/krb5.conf owner=root group=root mode=0644 template:
src: krb5.conf.j2
dest: /etc/krb5.conf
owner: root
group: root
mode: '0644'
tags: tags:
- kerberos - kerberos
- config
...@@ -4,34 +4,33 @@ ...@@ -4,34 +4,33 @@
- import_tasks: kerberos.yml - import_tasks: kerberos.yml
- name: ensure ad-server is installed - name: ensure ad-server is installed
apt: name=samba state=latest apt:
name: samba
state: present
tags: tags:
- packages
- ad-server - ad-server
#- name: ensure winbind is for some reasons installed
# apt: name=winbind state=latest
# tags:
# - packages
# - ad-server
- name: figure out if domain is provisioned - name: figure out if domain is provisioned
stat: path=/var/lib/samba/sysvol/{{ domain }} stat:
path: "/var/lib/samba/sysvol/{{ domain }}"
register: domain_provisioned register: domain_provisioned
tags: tags:
- ad-server - ad-server
- domain-provision - domain-provision
- block: - block:
- name: ensure smb.conf is absent for provision - name: ensure smb.conf is absent for provision
file: path=/etc/samba/smb.conf state=absent file:
path: /etc/samba/smb.conf
state: absent
tags: tags:
- ad-server - ad-server
- domain-provision - domain-provision
- name: ensure pexpect is installed - name: ensure pexpect is installed
apt: name=python-pexpect state=present apt:
name: python-pexpect
state: present
tags: tags:
- ad-server - ad-server
- domain-provision - domain-provision
...@@ -39,10 +38,11 @@ ...@@ -39,10 +38,11 @@
- name: ensure domain is provisioned - name: ensure domain is provisioned
expect: expect:
shell: samba-tool domain join "{{ domain }}" DC -U"{{ domain }}/Administrator" --dns-backend=NONE --option='idmap_ldb:use rfc2307=yes' 2> /root/provision.log # yamllint disable-line rule:line-length
shell: samba-tool domain join "{{ domain }}" DC -U"{{ domain }}/Administrator" --dns-backend=NONE --option="idmap_ldb:use rfc2307=yes" 2> /root/provision.log
responses: responses:
"Password for.*": "{{ lookup('passwordstore', 'samba-admin') }}" "Password for.*": "{{ lookup('passwordstore', ad_admin_password) }}"
no_log: True no_log: true
tags: tags:
- ad-server - ad-server
- domain-provision - domain-provision
...@@ -53,7 +53,6 @@ ...@@ -53,7 +53,6 @@
tags: tags:
- ad-server - ad-server
- domain-provision - domain-provision
# when: domain_provisioned.stat.exists == False
- name: ensure the idmap library is copied to secondary - name: ensure the idmap library is copied to secondary
synchronize: synchronize:
...@@ -63,50 +62,56 @@ ...@@ -63,50 +62,56 @@
tags: tags:
- ad-server - ad-server
- domain-provision - domain-provision
when: domain_provisioned.stat.exists == False when: domain_provisioned.stat.exists == False
#- name: ensure the id library is rted to secondary
# shell: samba-tool ntacl sysvolreset
# tags:
# - ad-server
# - domain-provision
# #when: domain_provisioned.stat.exists == False
- name: ensure smb.conf is correct - name: ensure smb.conf is correct
template: src=smb.conf.j2 dest=/etc/samba/smb.conf owner=root group=root mode=0644 template:
src: smb.conf.j2
dest: /etc/samba/smb.conf
owner: root
group: root
mode: '0644'
notify: restart samba-ad-dc server notify: restart samba-ad-dc server
tags: tags:
- ad-server - ad-server
- config
- name: ensure smbd is stopped and disabled - name: ensure smbd is stopped and disabled
service: name=smbd state=stopped enabled=no service:
name: smbd
state: stopped
enabled: false
tags: tags:
- ad-server - ad-server
- service
- name: ensure nmbd is stopped and disabled - name: ensure nmbd is stopped and disabled
service: name=nmbd state=stopped enabled=no service:
name: nmbd
state: stopped
enabled: false
tags: tags:
- ad-server - ad-server
- service
- name: ensure samba-ad-dc unit is running, enabled and not masked - name: ensure samba-ad-dc unit is running, enabled and not masked
systemd: name=samba-ad-dc masked=no systemd:
name: samba-ad-dc
masked: false
state: started
enabled: true
tags: tags:
- ad-server - ad-server
- service
- name: ensure samba-ad-dc is running and enabled - name: ensure samba-ad-dc is running and enabled
service: name=samba-ad-dc state=started enabled=yes service:
name: samba-ad-dc
state: started
enabled: true
tags: tags:
- ad-server - ad-server
- service
- name: ensure we have a replication cronjob for sysvol - name: ensure we have a replication cronjob for sysvol
template: src=templates/replication-cron dest=/etc/cron.d/samba-replication-cron template:
src: replication-cron
dest: /etc/cron.d/samba-replication-cron
delegate_to: "{{ ad_primary }}" delegate_to: "{{ ad_primary }}"
tags: tags:
- ad-server - ad-server
......
---
ad_admin_password: samba-admin
...@@ -3,4 +3,3 @@ ...@@ -3,4 +3,3 @@
- name: restart samba-ad-dc server - name: restart samba-ad-dc server
service: name=samba-ad-dc state=restarted service: name=samba-ad-dc state=restarted
...@@ -2,81 +2,88 @@ ...@@ -2,81 +2,88 @@
# file: roles/ad-server/tasks/main.yml # file: roles/ad-server/tasks/main.yml
- name: ensure ad-server is installed - name: ensure ad-server is installed
apt: name=samba state=latest apt:
name: samba
state: present
tags: tags:
- packages
- ad-server - ad-server
- name: ensure winbind is for some reasons installed - name: ensure winbind is for some reasons installed
apt: name=winbind state=latest apt:
name: winbind
state: present
tags: tags:
- packages
- ad-server - ad-server
- name: figure out if domain is provisioned - name: figure out if domain is provisioned
stat: path=/var/lib/samba/sysvol/{{ domain }} stat:
path: "/var/lib/samba/sysvol/{{ domain }}"
register: domain_provisioned register: domain_provisioned
tags: tags:
- ad-server - ad-server
- domain-provision - domain-provision
- name: ensure smb.conf is absent for provision - name: ensure smb.conf is absent for provision
file: path=/etc/samba/smb.conf state=absent file:
path: /etc/samba/smb.conf
state: absent
when: domain_provisioned.stat.exists == False when: domain_provisioned.stat.exists == False
tags: tags:
- ad-server - ad-server
- domain-provision - domain-provision
- name: get admin password for SAMBA # passwords will be selected at random and safed to /root/smb-provision.log)
local_action: pass name="samba-admin" state=present generate=20 store=FSMPI_PASSWORD_STORE_DIR limit=yes
register: adminpass
when: domain_provisioned.stat.exists == False
no_log: True
tags:
- ad-server
- domain-provision
- password
# provision smb-domain. passwords will be selected at random and safed to /root/smb-provision.log)
- name: ensure domain is provisioned - name: ensure domain is provisioned
shell: samba-tool domain provision --use-rfc2307 --domain={{ smb_domain }} --server-role=dc --host-name={{ ansible_hostname }} --realm={{ REALM }} --dns-backend=NONE --adminpass={{ adminpass.password }} 2> /root/smb-provision.log # yamllint disable-line rule:line-length
shell: samba-tool domain provision --use-rfc2307 --domain={{ smb_domain }} --server-role=dc --host-name={{ ansible_hostname }} --realm={{ REALM }} --dns-backend=NONE --adminpass={{ lookup('passwordstore', ad_admin_password) }} 2>/root/smb-provision.log
when: domain_provisioned.stat.exists == False when: domain_provisioned.stat.exists == False
no_log: True no_log: true
tags: tags:
- ad-server - ad-server
- domain-provision - domain-provision
- name: ensure smb.conf is correct - name: ensure smb.conf is correct
template: src=smb.conf.j2 dest=/etc/samba/smb.conf owner=root group=root mode=0644 template:
src: smb.conf.j2
dest: /etc/samba/smb.conf
owner: root
group: root
mode: '0644'
notify: restart samba-ad-dc server notify: restart samba-ad-dc server
tags: tags:
- ad-server - ad-server
- config
- name: ensure smbd is stopped and disabled - name: ensure smbd is stopped and disabled
service: name=smbd state=stopped enabled=no service:
name: smbd
state: stopped
enabled: false
tags: tags:
- ad-server - ad-server
- service
- name: ensure nmbd is stopped and disabled - name: ensure nmbd is stopped and disabled
service: name=nmbd state=stopped enabled=no service:
name: nmbd
state: stopped
enabled: false
tags: tags:
- ad-server - ad-server
- service
- name: ensure samba-ad-dc unit is running, enabled and not masked - name: ensure samba-ad-dc unit is running, enabled and not masked
systemd: name=samba-ad-dc masked=no state=started enabled=yes systemd:
name: samba-ad-dc
masked: false
state: started
enabled: true
tags: tags:
- ad-server - ad-server
- service
- name: ensure samba-ad-dc is running and enabled - name: ensure samba-ad-dc is running and enabled
service: name=samba-ad-dc state=started enabled=yes service:
name: samba-ad-dc
state: started
enabled: true
tags: tags:
- ad-server - ad-server
- service
- meta: flush_handlers - meta: flush_handlers
...@@ -2,10 +2,14 @@ ...@@ -2,10 +2,14 @@
# file: roles/lvm-snapshots/tasks/main.yml # file: roles/lvm-snapshots/tasks/main.yml
- name: ensure we have the target folder - name: ensure we have the target folder
file: path="{{program_dir}}" state=directory owner=root group=root mode=0755 file:
path: "{{program_dir}}"
state: directory
owner: root
group: root
mode: '0755'
tags: tags:
- lvm-snapshots - lvm-snapshots
- directory
- name: ensure our deploy key is present - name: ensure our deploy key is present
copy: copy:
...@@ -13,11 +17,10 @@ ...@@ -13,11 +17,10 @@
dest: /root/.ssh/lvm-snapshots.key dest: /root/.ssh/lvm-snapshots.key
owner: root owner: root
group: root group: root
mode: 0600 mode: '0600'
no_log: True no_log: true
tags: tags:
- lvm-snapshots - lvm-snapshots
- ssh
- name: ensure our public deploy key is present - name: ensure our public deploy key is present
copy: copy:
...@@ -25,11 +28,10 @@ ...@@ -25,11 +28,10 @@
dest: /root/.ssh/lvm-snapshots.pub dest: /root/.ssh/lvm-snapshots.pub
owner: root owner: root
group: root group: root
mode: 0644 mode: '0644'
no_log: True no_log: true
tags: tags:
- lvm-snapshots - lvm-snapshots
- ssh
- name: ensure we have our lvm-snapshots ssh config - name: ensure we have our lvm-snapshots ssh config
copy: copy:
...@@ -37,31 +39,26 @@ ...@@ -37,31 +39,26 @@
dest: /root/.ssh/config.lvm-snapshots dest: /root/.ssh/config.lvm-snapshots
owner: root owner: root
group: root group: root
mode: 0644 mode: '0644'
tags: tags:
- lvm-snapshots - lvm-snapshots
- ssh
- config
- name: ensure our lvm-snapshots ssh config is included - name: ensure our lvm-snapshots ssh config is included
lineinfile: lineinfile:
dest: /root/.ssh/config dest: /root/.ssh/config
line: "Include config.lvm-snapshots" line: "Include config.lvm-snapshots"
create: yes create: true
owner: root owner: root
group: root group: root
mode: 0644 mode: '0644'
tags: tags:
- lvm-snapshots - lvm-snapshots
- ssh
- config
- name: ensure we have the program - name: ensure we have the program
git: git:
repo: git@git.fsmpi.rwth-aachen.de:infra/lvm-snapshots.git repo: git@git.fsmpi.rwth-aachen.de:infra/lvm-snapshots.git
dest: "{{program_dir}}" dest: "{{program_dir}}"
tags: tags:
- git
- lvm-snapshots - lvm-snapshots
- name: ensure the necessary programs are installed - name: ensure the necessary programs are installed
...@@ -71,7 +68,6 @@ ...@@ -71,7 +68,6 @@
- virtualenv - virtualenv
state: present state: present
tags: tags:
- packages
- lvm-snapshots - lvm-snapshots
- name: ensure we have a virtualenv - name: ensure we have a virtualenv
...@@ -80,8 +76,6 @@ ...@@ -80,8 +76,6 @@
virtualenv: "{{program_dir}}" virtualenv: "{{program_dir}}"
virtualenv_python: python3 virtualenv_python: python3
tags: tags:
- pip
- python
- lvm-snapshots - lvm-snapshots
- name: ensure we have a frontend script - name: ensure we have a frontend script
...@@ -90,10 +84,9 @@ ...@@ -90,10 +84,9 @@
dest: /usr/local/sbin/lvm-snapshots dest: /usr/local/sbin/lvm-snapshots
owner: root owner: root
group: root group: root
mode: 0755 mode: '0755'
tags: tags:
- lvm-snapshots - lvm-snapshots
- config
- name: ensure we have our config - name: ensure we have our config
template: template:
...@@ -101,10 +94,9 @@ ...@@ -101,10 +94,9 @@
dest: /etc/lvm-snapshots.toml dest: /etc/lvm-snapshots.toml
owner: root owner: root
group: root group: root
mode: 0644 mode: '0644'
tags: tags:
- lvm-snapshots - lvm-snapshots
- config
- name: ensure we have a cron job - name: ensure we have a cron job
cron: cron:
...@@ -113,4 +105,3 @@ ...@@ -113,4 +105,3 @@
job: "/usr/local/sbin/lvm-snapshots update" job: "/usr/local/sbin/lvm-snapshots update"
tags: tags:
- lvm-snapshots - lvm-snapshots
- cron
--- ---
nfs_enable_cifs: False nfs_enable_cifs: false
nfs_enable_quota: False nfs_enable_quota: false
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
state: present state: present
tags: tags:
- nfs-client - nfs-client
- packages
- name: ensure cifs client utils are installed - name: ensure cifs client utils are installed
apt: apt:
...@@ -22,35 +21,41 @@ ...@@ -22,35 +21,41 @@
when: nfs_enable_cifs when: nfs_enable_cifs
tags: tags:
- nfs-client - nfs-client
- packages
- name: ensure quota tools are installed - name: ensure quota tools are installed
apt: name=quota state=present apt:
name: quota
state: present
when: nfs_enable_quota when: nfs_enable_quota
tags: tags:
- nfs-client - nfs-client
- packages
- name: ensure the nfs-client service is configured for nfs4 - name: ensure the nfs-client service is configured for nfs4
copy: src=nfs-common dest=/etc/default/nfs-common owner=root group=root mode=0644 copy:
src: nfs-common
dest: /etc/default/nfs-common
owner: root
group: root
mode: '0644'
notify: notify:
- restart nfs-client - restart nfs-client
- restart autofs - restart autofs
tags: tags:
- nfs-client - nfs-client
- config
- name: ensure nfs module is loaded - name: ensure nfs module is loaded
modprobe: name=nfs state=present modprobe:
name: nfs
state: present
tags: tags:
- nfs-client - nfs-client
- config
- name: ensure nfs module is loaded after a reboot - name: ensure nfs module is loaded after a reboot
copy: content="nfs" dest=/etc/modules-load.d/nfs.conf copy:
content: "nfs"
dest: /etc/modules-load.d/nfs.conf
tags: tags:
- nfs-client - nfs-client
- config
- name: ensure we use the idmapper - name: ensure we use the idmapper
shell: echo "N" > /sys/module/nfs/parameters/nfs4_disable_idmapping shell: echo "N" > /sys/module/nfs/parameters/nfs4_disable_idmapping
...@@ -59,74 +64,101 @@ ...@@ -59,74 +64,101 @@
- restart autofs - restart autofs
tags: tags:
- nfs-client - nfs-client
- config
- name: ensure we use the idmapper after a reboot - name: ensure we use the idmapper after a reboot
copy: src=modprobe-nfs.conf dest=/etc/modprobe.d/nfs.conf owner=root group=root mode=0644 copy:
src: modprobe-nfs.conf
dest: /etc/modprobe.d/nfs.conf
owner: root
group: root
mode: '0644'
tags: tags:
- nfs-client - nfs-client
- config
- name: ensure the kernel key storage quote used for idmapping is sufficiently high - name: ensure the kernel key storage used for idmapping is sufficiently high
sysctl: name=kernel.keys.root_maxkeys state=present value=1000 # default is 200, this quote was reached sysctl:
name: kernel.keys.root_maxkeys
state: present
value: 1000 # default is 200, this quote was reached
when: debian_version == "jessie" when: debian_version == "jessie"
notify: notify:
- reload sysctl - reload sysctl
tags: tags:
- nfs-client - nfs-client
- sysctl - sysctl
- config
- name: stretch has a reasonable default value for the kernel key storage size - name: stretch has a reasonable default value for the kernel key storage size
sysctl: name=kernel.keys.root_maxkeys state=absent sysctl:
name: kernel.keys.root_maxkeys
state: absent
when: debian_version == "stretch" when: debian_version == "stretch"
notify: notify:
- reload sysctl - reload sysctl
tags: tags:
- nfs-client - nfs-client
- sysctl - sysctl
- config
- name: ensure nfs-common is enabled - name: ensure nfs-common is enabled
service: name=nfs-client.target state=started enabled=yes service:
name: nfs-client.target
state: started
enabled: true
tags: tags:
- nfs-client - nfs-client
- service
- name: Configure automount - name: Configure automount
when: automount when: automount
block: block:
- name: ensure there is a base directory for automount - name: ensure there is a base directory for automount
file: state=directory path=/net owner=root group=root mode=0755 file:
state: directory
path: /net
owner: root
group: root
mode: '0755'
notify: notify:
- restart autofs - restart autofs
tags: tags:
- nfs-client - nfs-client
- name: ensure automounter is configured - name: ensure automounter is configured
copy: src=auto.master dest=/etc/auto.master owner=root group=root mode=0644 copy:
src: auto.master
dest: /etc/auto.master
owner: root
group: root
mode: '0644'
notify: notify:
- restart autofs - restart autofs
tags: tags:
- nfs-client - nfs-client
- config
- name: ensure mounts from central storage are available - name: ensure mounts from central storage are available
template: src=auto.nfs.j2 dest=/etc/auto.nfs owner=root group=root mode=0644 template:
src: auto.nfs.j2
dest: /etc/auto.nfs
owner: root
group: root
mode: '0644'
notify: notify:
- restart autofs - restart autofs
tags: tags:
- nfs-client - nfs-client
- config
- name: ensure automounter is enabled - name: ensure automounter is enabled
service: name=autofs state=started enabled=yes service:
name: autofs
state: started
enabled: true
tags: tags:
- nfs-client - nfs-client
- service
- name: ensure linking of netdirs - name: ensure linking of netdirs
file: src="/net/{{ item.netdir }}" dest="/{{ item.dest }}" state=link force=yes file:
src: "/net/{{ item.netdir }}"
dest: "/{{ item.dest }}"
state: link
force: true
with_items: "{{ nfs_shares }}" with_items: "{{ nfs_shares }}"
tags: tags:
- nfs-client - nfs-client
...@@ -138,10 +170,9 @@ ...@@ -138,10 +170,9 @@
service: service:
name: autofs name: autofs
state: stopped state: stopped
enabled: no enabled: false
tags: tags:
- nfs-client - nfs-client
- service
- name: Ensure mountpoints are directories - name: Ensure mountpoints are directories
file: file:
...@@ -163,10 +194,14 @@ ...@@ -163,10 +194,14 @@
- nfs-client - nfs-client
- name: configure default umask and other user related stuff - name: configure default umask and other user related stuff
copy: src=login.defs dest=/etc/login.defs owner=root group=root mode=0644 copy:
src: login.defs
dest: /etc/login.defs
owner: root
group: root
mode: '0644'
tags: tags:
- nfs-client - nfs-client
- umask - umask
- config
- meta: flush_handlers - meta: flush_handlers
...@@ -3,4 +3,3 @@ ...@@ -3,4 +3,3 @@
- name: restart nfs-server - name: restart nfs-server
service: name=nfs-server state=restarted service: name=nfs-server state=restarted
...@@ -12,47 +12,66 @@ ...@@ -12,47 +12,66 @@
state: present state: present
tags: tags:
- nfs-server - nfs-server
- packages
- name: ensure default umask and other user related stuff - name: ensure default umask and other user related stuff
copy: src=login.defs dest=/etc/login.defs owner=root group=root mode=0644 copy:
src: login.defs
dest: /etc/login.defs
owner: root
group: root
mode: '0644'
tags: tags:
- nfs-server - nfs-server
- umask - umask
- config
- name: ensure exports configuration is in place - name: ensure exports configuration is in place
template: src=exports.j2 dest=/etc/exports owner=root group=root mode=0644 template:
src: exports.j2
dest: /etc/exports
owner: root
group: root
mode: '0644'
notify: notify:
- restart nfs-server - restart nfs-server
tags: tags:
- nfs-server - nfs-server
- config
- name: ensure nfs-common is configured - name: ensure nfs-common is configured
copy: src=nfs-common dest=/etc/default/nfs-common owner=root group=root mode=0644 copy:
src: nfs-common
dest: /etc/default/nfs-common
owner: root
group: root
mode: '0644'
notify: notify:
- restart nfs-server - restart nfs-server
tags: tags:
- nfs-server - nfs-server
- config
- name: ensure nfs-kernel-server is configured - name: ensure nfs-kernel-server is configured
copy: src=nfs-kernel-server dest=/etc/default/nfs-kernel-server owner=root group=root mode=0644 copy:
src: nfs-kernel-server
dest: /etc/default/nfs-kernel-server
owner: root
group: root
mode: '0644'
notify: notify:
- restart nfs-server - restart nfs-server
tags: tags:
- nfs-server - nfs-server
- config
- name: ensure nfs-server is enabled and running - name: ensure nfs-server is enabled and running
service: name=nfs-server state=started enabled=yes service:
name: nfs-server
state: started
enabled: true
tags: tags:
- nfs-server - nfs-server
- service
- name: ensure that there is a keytab available - name: ensure that there is a keytab available
file: path=/etc/krb5.keytab state=file file:
path: /etc/krb5.keytab
state: file
tags: tags:
- nfs-server - nfs-server
- service-principal - service-principal
...@@ -61,7 +80,7 @@ ...@@ -61,7 +80,7 @@
- name: check that we have a valid service principal - name: check that we have a valid service principal
shell: klist -k /etc/krb5.keytab | grep "nfs/{{ ansible_fqdn }}" shell: klist -k /etc/krb5.keytab | grep "nfs/{{ ansible_fqdn }}"
register: principal register: principal
failed_when: False failed_when: false
tags: tags:
- nfs-server - nfs-server
- service-principal - service-principal
...@@ -69,6 +88,7 @@ ...@@ -69,6 +88,7 @@
- block: - block:
- name: create service principal - name: create service principal
# yamllint disable-line rule:line-length
command: samba-tool spn add "nfs/{{ ansible_fqdn }}" "{{ ansible_hostname | upper }}$" command: samba-tool spn add "nfs/{{ ansible_fqdn }}" "{{ ansible_hostname | upper }}$"
delegate_to: "{{ hostvars[groups['ad-server'][0]]['ansible_host'] }}" delegate_to: "{{ hostvars[groups['ad-server'][0]]['ansible_host'] }}"
tags: tags:
...@@ -76,6 +96,7 @@ ...@@ -76,6 +96,7 @@
- service-principal - service-principal
- name: export keytab - name: export keytab
# yamllint disable-line rule:line-length
command: samba-tool domain exportkeytab "/root/{{ ansible_fqdn }}.keytab" --principal "nfs/{{ ansible_fqdn }}" command: samba-tool domain exportkeytab "/root/{{ ansible_fqdn }}.keytab" --principal "nfs/{{ ansible_fqdn }}"
args: args:
creates: "/root/{{ ansible_fqdn }}.keytab" creates: "/root/{{ ansible_fqdn }}.keytab"
...@@ -94,7 +115,9 @@ ...@@ -94,7 +115,9 @@
- service-principal - service-principal
- name: ensure pexpect is installed - name: ensure pexpect is installed
apt: name=python-pexpect state=present apt:
name: python-pexpect
state: present
tags: tags:
- nfs-server - nfs-server
- service-principal - service-principal
...@@ -115,14 +138,18 @@ ...@@ -115,14 +138,18 @@
- service-principal - service-principal
- name: remove keytab at kdc - name: remove keytab at kdc
file: path="/root/{{ ansible_fqdn }}.keytab" state=absent file:
path: "/root/{{ ansible_fqdn }}.keytab"
state: absent
delegate_to: "{{ hostvars[groups['ad-server'][0]]['ansible_host'] }}" delegate_to: "{{ hostvars[groups['ad-server'][0]]['ansible_host'] }}"
tags: tags:
- nfs-server - nfs-server
- service-principal - service-principal
- name: remove keytab at host - name: remove keytab at host
file: path="/root/{{ ansible_fqdn }}.keytab" state=absent file:
path: "/root/{{ ansible_fqdn }}.keytab"
state: absent
tags: tags:
- nfs-server - nfs-server
- service-principal - service-principal
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment