Refactor the keytab/service role to prepare for more ipa roles
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
This commit is contained in:
parent
45a8658c04
commit
2e7ede1b71
3 changed files with 83 additions and 26 deletions
27
roles/ipa/host/tasks/main.yml
Normal file
27
roles/ipa/host/tasks/main.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
- name: Get admin ticket
|
||||||
|
delegate_to: "{{ ipa_server }}"
|
||||||
|
shell: echo "{{ipa_admin_password}}" | kinit admin
|
||||||
|
check_mode: no
|
||||||
|
changed_when: "1 != 1"
|
||||||
|
tags:
|
||||||
|
- config
|
||||||
|
- krb5
|
||||||
|
|
||||||
|
- name: Create host entry
|
||||||
|
delegate_to: "{{ ipa_server }}"
|
||||||
|
command: ipa host-add --force {{host}}
|
||||||
|
register: host_add_result
|
||||||
|
check_mode: no
|
||||||
|
changed_when: "'Added host' in host_add_result.stdout"
|
||||||
|
failed_when: "not ('Added host' in host_add_result.stdout or 'already exists' in host_add_result.stderr)"
|
||||||
|
tags:
|
||||||
|
- config
|
||||||
|
- krb5
|
||||||
|
|
||||||
|
- name: Destroy admin ticket
|
||||||
|
delegate_to: "{{ ipa_server }}"
|
||||||
|
command: kdestroy -A
|
||||||
|
tags:
|
||||||
|
- config
|
||||||
|
- krb5
|
38
roles/ipa/service/tasks/main.yml
Normal file
38
roles/ipa/service/tasks/main.yml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
- name: Get admin ticket
|
||||||
|
delegate_to: "{{ ipa_server }}"
|
||||||
|
shell: echo "{{ipa_admin_password}}" | kinit admin
|
||||||
|
check_mode: no
|
||||||
|
changed_when: "1 != 1"
|
||||||
|
tags:
|
||||||
|
- config
|
||||||
|
- krb5
|
||||||
|
|
||||||
|
- name: Create host entry
|
||||||
|
delegate_to: "{{ ipa_server }}"
|
||||||
|
command: ipa host-add --force {{host}}
|
||||||
|
register: host_add_result
|
||||||
|
check_mode: no
|
||||||
|
changed_when: "'Added host' in host_add_result.stdout"
|
||||||
|
failed_when: "not ('Added host' in host_add_result.stdout or 'already exists' in host_add_result.stderr)"
|
||||||
|
tags:
|
||||||
|
- config
|
||||||
|
- krb5
|
||||||
|
|
||||||
|
- name: Create service entry
|
||||||
|
delegate_to: "{{ ipa_server }}"
|
||||||
|
command: ipa service-add --force {{service}}/{{host}}
|
||||||
|
register: service_add_result
|
||||||
|
check_mode: no
|
||||||
|
changed_when: "'Added service' in service_add_result.stdout"
|
||||||
|
failed_when: "not ('Added service' in service_add_result.stdout or 'already exists' in service_add_result.stderr)"
|
||||||
|
tags:
|
||||||
|
- config
|
||||||
|
- krb5
|
||||||
|
|
||||||
|
- name: Destroy admin ticket
|
||||||
|
delegate_to: "{{ ipa_server }}"
|
||||||
|
command: kdestroy -A
|
||||||
|
tags:
|
||||||
|
- config
|
||||||
|
- krb5
|
|
@ -9,6 +9,24 @@
|
||||||
- config
|
- config
|
||||||
- krb5
|
- krb5
|
||||||
|
|
||||||
|
- name: Create host entry
|
||||||
|
include_role:
|
||||||
|
name: ipa/host
|
||||||
|
tags:
|
||||||
|
- keytab
|
||||||
|
- config
|
||||||
|
- krb5
|
||||||
|
when: not keytab_status.stat.exists and service == "host"
|
||||||
|
|
||||||
|
- name: Create service entry
|
||||||
|
include_role:
|
||||||
|
name: ipa/service
|
||||||
|
tags:
|
||||||
|
- keytab
|
||||||
|
- config
|
||||||
|
- krb5
|
||||||
|
when: not keytab_status.stat.exists and service != "host"
|
||||||
|
|
||||||
- name: Get admin ticket
|
- name: Get admin ticket
|
||||||
delegate_to: "{{ ipa_server }}"
|
delegate_to: "{{ ipa_server }}"
|
||||||
shell: echo "{{ipa_admin_password}}" | kinit admin
|
shell: echo "{{ipa_admin_password}}" | kinit admin
|
||||||
|
@ -20,32 +38,6 @@
|
||||||
- krb5
|
- krb5
|
||||||
when: not keytab_status.stat.exists
|
when: not keytab_status.stat.exists
|
||||||
|
|
||||||
- name: Create host entry
|
|
||||||
delegate_to: "{{ ipa_server }}"
|
|
||||||
command: ipa host-add --force {{host}}
|
|
||||||
register: host_add_result
|
|
||||||
check_mode: no
|
|
||||||
changed_when: "'Added host' in host_add_result.stdout"
|
|
||||||
failed_when: "not ('Added host' in host_add_result.stdout or 'already exists' in host_add_result.stderr)"
|
|
||||||
tags:
|
|
||||||
- keytab
|
|
||||||
- config
|
|
||||||
- krb5
|
|
||||||
when: not keytab_status.stat.exists
|
|
||||||
|
|
||||||
- name: Create service entry
|
|
||||||
delegate_to: "{{ ipa_server }}"
|
|
||||||
command: ipa service-add --force {{service}}/{{host}}
|
|
||||||
register: service_add_result
|
|
||||||
check_mode: no
|
|
||||||
changed_when: "'Added service' in service_add_result.stdout"
|
|
||||||
failed_when: "not ('Added service' in service_add_result.stdout or 'already exists' in service_add_result.stderr)"
|
|
||||||
tags:
|
|
||||||
- keytab
|
|
||||||
- config
|
|
||||||
- krb5
|
|
||||||
when: not keytab_status.stat.exists and service != "host"
|
|
||||||
|
|
||||||
- name: Grant host access to keytab
|
- name: Grant host access to keytab
|
||||||
delegate_to: "{{ ipa_server }}"
|
delegate_to: "{{ ipa_server }}"
|
||||||
command: ipa service-allow-retrieve-keytab {{service}}/{{host}} --hosts={{inventory_hostname}}
|
command: ipa service-allow-retrieve-keytab {{service}}/{{host}} --hosts={{inventory_hostname}}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue