From a3578de4b2403ed2669c83a0fd5f374e18104a0f Mon Sep 17 00:00:00 2001 From: Thomas Woerner <twoerner@redhat.com> Date: Wed, 17 Jul 2019 19:14:27 +0200 Subject: [PATCH] ipareplica: Add support for pki_config_override There is a new setting for the ipareplica role: ipareplica_pki_config_override --- roles/ipareplica/README.md | 1 + roles/ipareplica/library/ipareplica_setup_ca.py | 8 ++++++++ roles/ipareplica/library/ipareplica_setup_kra.py | 3 +++ roles/ipareplica/tasks/install.yml | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/roles/ipareplica/README.md b/roles/ipareplica/README.md index 9e2db77a..471d452b 100644 --- a/roles/ipareplica/README.md +++ b/roles/ipareplica/README.md @@ -140,6 +140,7 @@ Variable | Description | Required `ipaadmin_principal` | The authorized kerberos principal used to join the IPA realm. (string) | no `ipareplica_no_host_dns` | Do not use DNS for hostname lookup during installation. (bool, default: false) | no `ipareplica_skip_conncheck` | Skip connection check to remote master. (bool, default: false) | no +`ipareplica_pki_config_override` | Path to ini file with config overrides. This is only usable with recent FreeIPA versions. (string) | no Server Vaiables --------------- diff --git a/roles/ipareplica/library/ipareplica_setup_ca.py b/roles/ipareplica/library/ipareplica_setup_ca.py index b7da5aa2..b278deb2 100644 --- a/roles/ipareplica/library/ipareplica_setup_ca.py +++ b/roles/ipareplica/library/ipareplica_setup_ca.py @@ -46,6 +46,9 @@ options: no_pkinit: description: required: yes + pki_config_override: + description: + required: yes subject_base: description: required: yes @@ -118,6 +121,8 @@ from ansible.module_utils.ansible_ipa_replica import ( def main(): ansible_module = AnsibleModule( argument_spec = dict( + ### basic ### + pki_config_override=dict(required=False), #### server ### setup_ca=dict(required=False, type='bool'), setup_kra=dict(required=False, type='bool'), @@ -150,6 +155,9 @@ def main(): # get parameters # options = installer + ### basic ### + options.pki_config_override = ansible_module.params.get( + 'pki_config_override') ### server ### options.setup_ca = ansible_module.params.get('setup_ca') options.setup_kra = ansible_module.params.get('setup_kra') diff --git a/roles/ipareplica/library/ipareplica_setup_kra.py b/roles/ipareplica/library/ipareplica_setup_kra.py index d5dd2861..ee1ca6d2 100644 --- a/roles/ipareplica/library/ipareplica_setup_kra.py +++ b/roles/ipareplica/library/ipareplica_setup_kra.py @@ -105,6 +105,7 @@ def main(): hostname=dict(required=False), ca_cert_files=dict(required=False, type='list', default=[]), no_host_dns=dict(required=False, type='bool', default=False), + pki_config_override=dict(required=False), ### server ### setup_adtrust=dict(required=False, type='bool'), setup_ca=dict(required=False, type='bool'), @@ -148,6 +149,8 @@ def main(): options.host_name = ansible_module.params.get('hostname') options.ca_cert_files = ansible_module.params.get('ca_cert_files') options.no_host_dns = ansible_module.params.get('no_host_dns') + options.pki_config_override = ansible_module.params.get( + 'pki_config_override') ### server ### options.setup_adtrust = ansible_module.params.get('setup_adtrust') options.setup_ca = ansible_module.params.get('setup_ca') diff --git a/roles/ipareplica/tasks/install.yml b/roles/ipareplica/tasks/install.yml index 86638cb1..0b38b908 100644 --- a/roles/ipareplica/tasks/install.yml +++ b/roles/ipareplica/tasks/install.yml @@ -500,6 +500,8 @@ setup_ca: "{{ ipareplica_setup_ca }}" setup_kra: "{{ result_ipareplica_test.setup_kra }}" no_pkinit: "{{ ipareplica_no_pkinit }}" + pki_config_override: + "{{ ipareplica_pki_config_override | default(omit) }}" ### certificate system ### subject_base: "{{ result_ipareplica_prepare.subject_base }}" ### additional ### @@ -571,6 +573,8 @@ hostname: "{{ result_ipareplica_test.hostname }}" ca_cert_files: "{{ ipareplica_ca_cert_files | default([]) }}" no_host_dns: "{{ ipareplica_no_host_dns }}" + pki_config_override: + "{{ ipareplica_pki_config_override | default(omit)}}" ### replica ### setup_adtrust: "{{ result_ipareplica_test.setup_adtrust }}" setup_ca: "{{ ipareplica_setup_ca }}" -- GitLab