Blame roles/ipaserver/tasks/install.yml

Packit Service 0a38ef
---
Packit Service 0a38ef
# tasks file for ipaserver
Packit Service 0a38ef
Packit Service 0a38ef
- block:
Packit Service 0a38ef
  - name: Install - Ensure that IPA server packages are installed
Packit Service 0a38ef
    package:
Packit Service 0a38ef
      name: "{{ ipaserver_packages }}"
Packit Service 0a38ef
      state: present
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Install - Ensure that IPA server packages for dns are installed
Packit Service 0a38ef
    package:
Packit Service 0a38ef
      name: "{{ ipaserver_packages_dns }}"
Packit Service 0a38ef
      state: present
Packit Service 0a38ef
    when: ipaserver_setup_dns | bool
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Install - Ensure that IPA server packages for adtrust are installed
Packit Service 0a38ef
    package:
Packit Service 0a38ef
      name: "{{ ipaserver_packages_adtrust }}"
Packit Service 0a38ef
      state: present
Packit Service 0a38ef
    when: ipaserver_setup_adtrust | bool
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Install - Ensure that firewall packages installed
Packit Service 0a38ef
    package:
Packit Service 0a38ef
      name: "{{ ipaserver_packages_firewalld }}"
Packit Service 0a38ef
      state: present
Packit Service 0a38ef
    when: ipaserver_setup_firewalld | bool
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Firewalld service - Ensure that firewalld is running
Packit Service 0a38ef
    systemd:
Packit Service 0a38ef
      name: firewalld
Packit Service 0a38ef
      enabled: yes
Packit Service 0a38ef
      state: started
Packit Service 0a38ef
    when: ipaserver_setup_firewalld | bool
Packit Service 0a38ef
Packit Service 0a38ef
  when: ipaserver_install_packages | bool
Packit Service 0a38ef
Packit Service 0a38ef
#- name: Install - Include Python2/3 import test
Packit Service 0a38ef
#  import_tasks: "{{ role_path }}/tasks/python_2_3_test.yml"
Packit Service 0a38ef
Packit Service 0a38ef
- include_tasks: "{{ role_path }}/tasks/copy_external_cert.yml"
Packit Service 0a38ef
  with_items: "{{ ipaserver_external_cert_files_from_controller }}"
Packit Service 0a38ef
  when: ipaserver_external_cert_files_from_controller is defined and
Packit Service 0a38ef
        ipaserver_external_cert_files_from_controller|length > 0 and
Packit Service 0a38ef
        not ipaserver_external_cert_files is defined
Packit Service 0a38ef
Packit Service 0a38ef
- name: Install - Server installation test
Packit Service 0a38ef
  ipaserver_test:
Packit Service 0a38ef
    ### basic ###
Packit Service 0a38ef
    dm_password: "{{ ipadm_password }}"
Packit Service 0a38ef
    password: "{{ ipaadmin_password }}"
Packit Service 0a38ef
    master_password: "{{ ipaserver_master_password | default(omit) }}"
Packit Service 0a38ef
    domain: "{{ ipaserver_domain | default(omit) }}"
Packit Service 0a38ef
    realm: "{{ ipaserver_realm | default(omit) }}"
Packit Service 0a38ef
    hostname: "{{ ipaserver_hostname | default(ansible_fqdn) }}"
Packit Service 0a38ef
    ca_cert_files: "{{ ipaserver_ca_cert_files | default(omit) }}"
Packit Service 0a38ef
    no_host_dns: "{{ ipaserver_no_host_dns }}"
Packit Service 0a38ef
    pki_config_override: "{{ ipaserver_pki_config_override | default(omit) }}"
Packit Service 0a38ef
    ### server ###
Packit Service 0a38ef
    setup_adtrust: "{{ ipaserver_setup_adtrust }}"
Packit Service 0a38ef
    setup_kra: "{{ ipaserver_setup_kra }}"
Packit Service 0a38ef
    setup_dns: "{{ ipaserver_setup_dns }}"
Packit Service 0a38ef
    idstart: "{{ ipaserver_idstart | default(omit) }}"
Packit Service 0a38ef
    idmax: "{{ ipaserver_idmax | default(omit) }}"
Packit Service 0a38ef
    # no_hbac_allow: "{{ ipaserver_no_hbac_allow }}"
Packit Service 0a38ef
    no_pkinit: "{{ ipaserver_no_pkinit }}"
Packit Service 0a38ef
    # no_ui_redirect: "{{ ipaserver_no_ui_redirect }}"
Packit Service 0a38ef
    dirsrv_config_file: "{{ ipaserver_dirsrv_config_file | default(omit) }}"
Packit Service 0a38ef
    ### ssl certificate ###
Packit Service 0a38ef
    dirsrv_cert_files: "{{ ipaserver_dirsrv_cert_files | default(omit) }}"
Packit Service 0a38ef
    dirsrv_cert_name: "{{ ipaserver_dirsrv_cert_name | default(omit) }}"
Packit Service 0a38ef
    dirsrv_pin: "{{ ipaserver_dirsrv_pin | default(omit) }}"
Packit Service 0a38ef
    http_cert_files: "{{ ipaserver_http_cert_files | default(omit) }}"
Packit Service 0a38ef
    http_cert_name: "{{ ipaserver_http_cert_name | default(omit) }}"
Packit Service 0a38ef
    http_pin: "{{ ipaserver_http_pin | default(omit) }}"
Packit Service 0a38ef
    pkinit_cert_files: "{{ ipaserver_pkinit_cert_files | default(omit) }}"
Packit Service 0a38ef
    pkinit_cert_name: "{{ ipaserver_pkinit_cert_name | default(omit) }}"
Packit Service 0a38ef
    pkinit_pin: "{{ ipaserver_pkinit_pin | default(omit) }}"
Packit Service 0a38ef
    ### client ###
Packit Service 0a38ef
    # mkhomedir
Packit Service 0a38ef
    ntp_servers: "{{ ipaclient_ntp_servers | default(omit) }}"
Packit Service 0a38ef
    ntp_pool: "{{ ipaclient_ntp_pool | default(omit) }}"
Packit Service 0a38ef
    no_ntp: "{{ ipaclient_no_ntp }}"
Packit Service 0a38ef
    # ssh_trust_dns
Packit Service 0a38ef
    # no_ssh
Packit Service 0a38ef
    # no_sshd
Packit Service 0a38ef
    # no_dns_sshfp
Packit Service 0a38ef
    ### certificate system ###
Packit Service 0a38ef
    external_ca: "{{ ipaserver_external_ca }}"
Packit Service 0a38ef
    external_ca_type: "{{ ipaserver_external_ca_type | default(omit) }}"
Packit Service 0a38ef
    external_ca_profile: "{{ ipaserver_external_ca_profile | default(omit) }}"
Packit Service 0a38ef
    external_cert_files: "{{ ipaserver_external_cert_files | default(omit) }}"
Packit Service 0a38ef
    subject_base: "{{ ipaserver_subject_base | default(omit) }}"
Packit Service 0a38ef
    ca_subject: "{{ ipaserver_ca_subject | default(omit) }}"
Packit Service 0a38ef
    # ca_signing_algorithm
Packit Service 0a38ef
    ### dns ###
Packit Service 0a38ef
    allow_zone_overlap: "{{ ipaserver_allow_zone_overlap }}"
Packit Service 0a38ef
    reverse_zones: "{{ ipaserver_reverse_zones | default([]) }}"
Packit Service 0a38ef
    no_reverse: "{{ ipaserver_no_reverse }}"
Packit Service 0a38ef
    auto_reverse: "{{ ipaserver_auto_reverse }}"
Packit Service 0a38ef
    zonemgr: "{{ ipaserver_zonemgr | default(omit) }}"
Packit Service 0a38ef
    forwarders: "{{ ipaserver_forwarders | default([]) }}"
Packit Service 0a38ef
    no_forwarders: "{{ ipaserver_no_forwarders }}"
Packit Service 0a38ef
    auto_forwarders: "{{ ipaserver_auto_forwarders }}"
Packit Service 0a38ef
    forward_policy: "{{ ipaserver_forward_policy | default(omit) }}"
Packit Service 0a38ef
    no_dnssec_validation: "{{ ipaserver_no_dnssec_validation }}"
Packit Service 0a38ef
    ### ad trust ###
Packit Service 0a38ef
    enable_compat: "{{ ipaserver_enable_compat }}"
Packit Service 0a38ef
    netbios_name: "{{ ipaserver_netbios_name | default(omit) }}"
Packit Service 0a38ef
    rid_base: "{{ ipaserver_rid_base | default(omit) }}"
Packit Service 0a38ef
    secondary_rid_base: "{{ ipaserver_secondary_rid_base | default(omit) }}"
Packit Service 0a38ef
Packit Service 0a38ef
    ### additional ###
Packit Service 0a38ef
  register: result_ipaserver_test
Packit Service 0a38ef
Packit Service 0a38ef
- block:
Packit Service 0a38ef
  # This block is executed only when
Packit Service 0a38ef
  # not ansible_check_mode and
Packit Service 0a38ef
  # not (not result_ipaserver_test.changed and
Packit Service 0a38ef
  #      (result_ipaserver_test.client_already_configured is defined or
Packit Service 0a38ef
  #       result_ipaserver_test.server_already_configured is defined)
Packit Service 0a38ef
Packit Service 0a38ef
  - block:
Packit Service 0a38ef
    - name: Install - Master password creation
Packit Service 0a38ef
      no_log: yes
Packit Service 0a38ef
      ipaserver_master_password:
Packit Service 0a38ef
        dm_password: "{{ ipadm_password }}"
Packit Service 0a38ef
        master_password: "{{ ipaserver_master_password | default(omit) }}"
Packit Service 0a38ef
      register: result_ipaserver_master_password
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Use new master password
Packit Service 0a38ef
      no_log: yes
Packit Service 0a38ef
      set_fact:
Packit Service 0a38ef
        ipaserver_master_password:
Packit Service 0a38ef
          "{{ result_ipaserver_master_password.password }}"
Packit Service 0a38ef
Packit Service 0a38ef
    when: ipaserver_master_password is undefined
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Install - Server preparation
Packit Service 0a38ef
    ipaserver_prepare:
Packit Service 0a38ef
      ### basic ###
Packit Service 0a38ef
      dm_password: "{{ ipadm_password }}"
Packit Service 0a38ef
      password: "{{ ipaadmin_password }}"
Packit Service 0a38ef
      ip_addresses: "{{ ipaserver_ip_addresses | default([]) }}"
Packit Service 0a38ef
      domain: "{{ result_ipaserver_test.domain }}"
Packit Service 0a38ef
      realm: "{{ result_ipaserver_test.realm }}"
Packit Service 0a38ef
      hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
      no_host_dns: "{{ result_ipaserver_test.no_host_dns }}"
Packit Service 0a38ef
      ### server ###
Packit Service 0a38ef
      setup_adtrust: "{{ ipaserver_setup_adtrust }}"
Packit Service 0a38ef
      setup_kra: "{{ ipaserver_setup_kra }}"
Packit Service 0a38ef
      setup_dns: "{{ ipaserver_setup_dns }}"
Packit Service 0a38ef
      ### certificate system ###
Packit Service 0a38ef
      external_ca: "{{ ipaserver_external_ca }}"
Packit Service 0a38ef
      external_ca_type: "{{ ipaserver_external_ca_type | default(omit) }}"
Packit Service 0a38ef
      external_ca_profile:
Packit Service 0a38ef
        "{{ ipaserver_external_ca_profile | default(omit) }}"
Packit Service 0a38ef
      external_cert_files:
Packit Service 0a38ef
        "{{ ipaserver_external_cert_files | default(omit) }}"
Packit Service 0a38ef
      subject_base: "{{ ipaserver_subject_base | default(omit) }}"
Packit Service 0a38ef
      ca_subject: "{{ ipaserver_ca_subject | default(omit) }}"
Packit Service 0a38ef
      ### dns ###
Packit Service 0a38ef
      allow_zone_overlap: "{{ ipaserver_allow_zone_overlap }}"
Packit Service 0a38ef
      reverse_zones: "{{ ipaserver_reverse_zones | default([]) }}"
Packit Service 0a38ef
      no_reverse: "{{ ipaserver_no_reverse }}"
Packit Service 0a38ef
      auto_reverse: "{{ ipaserver_auto_reverse }}"
Packit Service 0a38ef
      zonemgr: "{{ ipaserver_zonemgr | default(omit) }}"
Packit Service 0a38ef
      forwarders: "{{ ipaserver_forwarders | default([]) }}"
Packit Service 0a38ef
      no_forwarders: "{{ ipaserver_no_forwarders }}"
Packit Service 0a38ef
      auto_forwarders: "{{ ipaserver_auto_forwarders }}"
Packit Service 0a38ef
      forward_policy: "{{ ipaserver_forward_policy | default(omit) }}"
Packit Service 0a38ef
      no_dnssec_validation: "{{ ipaserver_no_dnssec_validation }}"
Packit Service 0a38ef
      ### ad trust ###
Packit Service 0a38ef
      enable_compat: "{{ ipaserver_enable_compat }}"
Packit Service 0a38ef
      netbios_name: "{{ ipaserver_netbios_name | default(omit) }}"
Packit Service 0a38ef
      rid_base: "{{ ipaserver_rid_base | default(omit) }}"
Packit Service 0a38ef
      secondary_rid_base: "{{ ipaserver_secondary_rid_base | default(omit) }}"
Packit Service 0a38ef
      ### additional ###
Packit Service 0a38ef
      setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
      _hostname_overridden: "{{ result_ipaserver_test._hostname_overridden }}"
Packit Service 0a38ef
    register: result_ipaserver_prepare
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Install - Setup NTP
Packit Service 0a38ef
    ipaserver_setup_ntp:
Packit Service 0a38ef
      ntp_servers: "{{ result_ipaserver_test.ntp_servers | default(omit) }}"
Packit Service 0a38ef
      ntp_pool: "{{ result_ipaserver_test.ntp_pool | default(omit) }}"
Packit Service 0a38ef
    when: not ipaclient_no_ntp | bool and (ipaserver_external_cert_files
Packit Service 0a38ef
          is undefined or ipaserver_external_cert_files|length < 1)
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Install - Setup DS
Packit Service 0a38ef
    ipaserver_setup_ds:
Packit Service 0a38ef
      dm_password: "{{ ipadm_password }}"
Packit Service 0a38ef
      password: "{{ ipaadmin_password }}"
Packit Service 0a38ef
      # master_password: "{{ ipaserver_master_password }}"
Packit Service 0a38ef
      domain: "{{ result_ipaserver_test.domain }}"
Packit Service 0a38ef
      realm: "{{ result_ipaserver_test.realm | default(omit) }}"
Packit Service 0a38ef
      hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
      # ip_addresses: "{{ result_ipaserver_prepare.ip_addresses }}"
Packit Service 0a38ef
      # reverse_zones: "{{ result_ipaserver_prepare.reverse_zones }}"
Packit Service 0a38ef
      # setup_adtrust: "{{ result_ipaserver_test.setup_adtrust }}"
Packit Service 0a38ef
      # setup_kra: "{{ result_ipaserver_test.setup_kra }}"
Packit Service 0a38ef
      # setup_dns: "{{ ipaserver_setup_dns }}"
Packit Service 0a38ef
      setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
      # no_host_dns: "{{ result_ipaserver_test.no_host_dns }}"
Packit Service 0a38ef
      dirsrv_config_file: "{{ ipaserver_dirsrv_config_file | default(omit) }}"
Packit Service 0a38ef
      dirsrv_cert_files: "{{ ipaserver_dirsrv_cert_files | default(omit) }}"
Packit Service b382a3
      _dirsrv_pkcs12_info: "{{ result_ipaserver_test._dirsrv_pkcs12_info if result_ipaserver_test._dirsrv_pkcs12_info != None else omit }}"
Packit Service 0a38ef
      external_cert_files:
Packit Service 0a38ef
        "{{ ipaserver_external_cert_files | default(omit) }}"
Packit Service 0a38ef
      subject_base: "{{ result_ipaserver_prepare.subject_base }}"
Packit Service 0a38ef
      ca_subject: "{{ result_ipaserver_prepare.ca_subject }}"
Packit Service 0a38ef
      # no_reverse: "{{ ipaserver_no_reverse }}"
Packit Service 0a38ef
      # auto_forwarders: "{{ ipaserver_auto_forwarders }}"
Packit Service 0a38ef
      no_pkinit: "{{ result_ipaserver_test.no_pkinit }}"
Packit Service 0a38ef
      no_hbac_allow: "{{ ipaserver_no_hbac_allow }}"
Packit Service 0a38ef
      idstart: "{{ result_ipaserver_test.idstart }}"
Packit Service 0a38ef
      idmax: "{{ result_ipaserver_test.idmax }}"
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Install - Setup KRB
Packit Service 0a38ef
    ipaserver_setup_krb:
Packit Service 0a38ef
      dm_password: "{{ ipadm_password }}"
Packit Service 0a38ef
      password: "{{ ipaadmin_password }}"
Packit Service 0a38ef
      master_password: "{{ ipaserver_master_password }}"
Packit Service 0a38ef
      domain: "{{ result_ipaserver_test.domain }}"
Packit Service 0a38ef
      realm: "{{ result_ipaserver_test.realm }}"
Packit Service 0a38ef
      hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
      # ip_addresses: "{{ result_ipaserver_prepare.ip_addresses }}"
Packit Service 0a38ef
      reverse_zones: "{{ result_ipaserver_prepare.reverse_zones }}"
Packit Service 0a38ef
      setup_adtrust: "{{ result_ipaserver_test.setup_adtrust }}"
Packit Service 0a38ef
      setup_kra: "{{ result_ipaserver_test.setup_kra }}"
Packit Service 0a38ef
      setup_dns: "{{ ipaserver_setup_dns }}"
Packit Service 0a38ef
      setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
      no_host_dns: "{{ result_ipaserver_test.no_host_dns }}"
Packit Service 0a38ef
      external_cert_files:
Packit Service 0a38ef
        "{{ ipaserver_external_cert_files | default(omit) }}"
Packit Service 0a38ef
      subject_base: "{{ result_ipaserver_prepare.subject_base }}"
Packit Service 0a38ef
      ca_subject: "{{ result_ipaserver_prepare.ca_subject }}"
Packit Service 0a38ef
      no_reverse: "{{ ipaserver_no_reverse }}"
Packit Service 0a38ef
      auto_forwarders: "{{ ipaserver_auto_forwarders }}"
Packit Service 0a38ef
      no_pkinit: "{{ result_ipaserver_test.no_pkinit }}"
Packit Service 0a38ef
      no_hbac_allow: "{{ ipaserver_no_hbac_allow }}"
Packit Service 0a38ef
      idstart: "{{ result_ipaserver_test.idstart }}"
Packit Service 0a38ef
      idmax: "{{ result_ipaserver_test.idmax }}"
Packit Service b382a3
      _pkinit_pkcs12_info: "{{ result_ipaserver_test._pkinit_pkcs12_info if result_ipaserver_test._pkinit_pkcs12_info != None else omit }}"
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Install - Setup custodia
Packit Service 0a38ef
    ipaserver_setup_custodia:
Packit Service 0a38ef
      realm: "{{ result_ipaserver_test.realm }}"
Packit Service 0a38ef
      hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
      setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Install - Setup CA
Packit Service 0a38ef
    ipaserver_setup_ca:
Packit Service 0a38ef
      dm_password: "{{ ipadm_password }}"
Packit Service 0a38ef
      password: "{{ ipaadmin_password }}"
Packit Service 0a38ef
      master_password: "{{ ipaserver_master_password }}"
Packit Service 0a38ef
      # ip_addresses: "{{ result_ipaserver_prepare.ip_addresses }}"
Packit Service 0a38ef
      domain: "{{ result_ipaserver_test.domain }}"
Packit Service 0a38ef
      realm: "{{ result_ipaserver_test.realm }}"
Packit Service 0a38ef
      hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
      no_host_dns: "{{ result_ipaserver_test.no_host_dns }}"
Packit Service 0a38ef
      pki_config_override: "{{ ipaserver_pki_config_override |
Packit Service 0a38ef
                               default(omit) }}"
Packit Service 0a38ef
      setup_adtrust: "{{ result_ipaserver_test.setup_adtrust }}"
Packit Service 0a38ef
      setup_kra: "{{ result_ipaserver_test.setup_kra }}"
Packit Service 0a38ef
      setup_dns: "{{ ipaserver_setup_dns }}"
Packit Service 0a38ef
      setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
      idstart: "{{ result_ipaserver_test.idstart }}"
Packit Service 0a38ef
      idmax: "{{ result_ipaserver_test.idmax }}"
Packit Service 0a38ef
      no_hbac_allow: "{{ ipaserver_no_hbac_allow }}"
Packit Service 0a38ef
      no_pkinit: "{{ result_ipaserver_test.no_pkinit }}"
Packit Service 0a38ef
      dirsrv_config_file: "{{ ipaserver_dirsrv_config_file | default(omit) }}"
Packit Service 0a38ef
      dirsrv_cert_files: "{{ ipaserver_dirsrv_cert_files | default([]) }}"
Packit Service b382a3
      _dirsrv_pkcs12_info: "{{ result_ipaserver_test._dirsrv_pkcs12_info if result_ipaserver_test._dirsrv_pkcs12_info != None else omit }}"
Packit Service 0a38ef
      external_ca: "{{ ipaserver_external_ca }}"
Packit Service 0a38ef
      external_ca_type: "{{ ipaserver_external_ca_type | default(omit) }}"
Packit Service 0a38ef
      external_ca_profile:
Packit Service 0a38ef
        "{{ ipaserver_external_ca_profile | default(omit) }}"
Packit Service 0a38ef
      external_cert_files:
Packit Service 0a38ef
        "{{ ipaserver_external_cert_files | default(omit) }}"
Packit Service 0a38ef
      subject_base: "{{ result_ipaserver_prepare.subject_base }}"
Packit Service 0a38ef
      _subject_base: "{{ result_ipaserver_prepare._subject_base }}"
Packit Service 0a38ef
      ca_subject: "{{ result_ipaserver_prepare.ca_subject }}"
Packit Service 0a38ef
      _ca_subject: "{{ result_ipaserver_prepare._ca_subject }}"
Packit Service 0a38ef
      ca_signing_algorithm: "{{ ipaserver_ca_signing_algorithm |
Packit Service 0a38ef
                                default(omit) }}"
Packit Service 0a38ef
      reverse_zones: "{{ result_ipaserver_prepare.reverse_zones }}"
Packit Service 0a38ef
      no_reverse: "{{ ipaserver_no_reverse }}"
Packit Service 0a38ef
      auto_forwarders: "{{ ipaserver_auto_forwarders }}"
Packit Service 0a38ef
      _http_ca_cert: "{{ result_ipaserver_test._http_ca_cert }}"
Packit Service 0a38ef
    register: result_ipaserver_setup_ca
Packit Service 0a38ef
Packit Service 0a38ef
  - name: Copy /root/ipa.csr to "{{ inventory_hostname }}-ipa.csr"
Packit Service 0a38ef
    fetch:
Packit Service 0a38ef
      src: /root/ipa.csr
Packit Service 0a38ef
      dest: "{{ inventory_hostname }}-ipa.csr"
Packit Service 0a38ef
      flat: yes
Packit Service 0a38ef
    when: result_ipaserver_setup_ca.csr_generated | bool and
Packit Service 0a38ef
          ipaserver_copy_csr_to_controller | bool
Packit Service 0a38ef
Packit Service 0a38ef
  - block:
Packit Service 0a38ef
    - name: Install - Setup otpd
Packit Service 0a38ef
      ipaserver_setup_otpd:
Packit Service 0a38ef
        realm: "{{ result_ipaserver_test.realm }}"
Packit Service 0a38ef
        hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
        setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Setup HTTP
Packit Service 0a38ef
      ipaserver_setup_http:
Packit Service 0a38ef
        dm_password: "{{ ipadm_password }}"
Packit Service 0a38ef
        password: "{{ ipaadmin_password }}"
Packit Service 0a38ef
        master_password: "{{ ipaserver_master_password }}"
Packit Service 0a38ef
        domain: "{{ result_ipaserver_test.domain }}"
Packit Service 0a38ef
        realm: "{{ result_ipaserver_test.realm }}"
Packit Service 0a38ef
        hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
        # ip_addresses: "{{ result_ipaserver_prepare.ip_addresses }}"
Packit Service 0a38ef
        reverse_zones: "{{ result_ipaserver_prepare.reverse_zones }}"
Packit Service 0a38ef
        setup_adtrust: "{{ result_ipaserver_test.setup_adtrust }}"
Packit Service 0a38ef
        setup_kra: "{{ result_ipaserver_test.setup_kra }}"
Packit Service 0a38ef
        setup_dns: "{{ ipaserver_setup_dns }}"
Packit Service 0a38ef
        setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
        no_host_dns: "{{ result_ipaserver_test.no_host_dns }}"
Packit Service 0a38ef
        dirsrv_cert_files: "{{ ipaserver_dirsrv_cert_files | default([]) }}"
Packit Service 0a38ef
        external_cert_files:
Packit Service 0a38ef
          "{{ ipaserver_external_cert_files | default(omit) }}"
Packit Service 0a38ef
        subject_base: "{{ result_ipaserver_prepare.subject_base }}"
Packit Service 0a38ef
        _subject_base: "{{ result_ipaserver_prepare._subject_base }}"
Packit Service 0a38ef
        ca_subject: "{{ result_ipaserver_prepare.ca_subject }}"
Packit Service 0a38ef
        _ca_subject: "{{ result_ipaserver_prepare._ca_subject }}"
Packit Service 0a38ef
        no_reverse: "{{ ipaserver_no_reverse }}"
Packit Service 0a38ef
        auto_forwarders: "{{ ipaserver_auto_forwarders }}"
Packit Service 0a38ef
        no_pkinit: "{{ result_ipaserver_test.no_pkinit }}"
Packit Service 0a38ef
        no_hbac_allow: "{{ ipaserver_no_hbac_allow }}"
Packit Service 0a38ef
        idstart: "{{ result_ipaserver_test.idstart }}"
Packit Service 0a38ef
        idmax: "{{ result_ipaserver_test.idmax }}"
Packit Service 0a38ef
        http_cert_files: "{{ ipaserver_http_cert_files | default([]) }}"
Packit Service 0a38ef
        no_ui_redirect: "{{ ipaserver_no_ui_redirect }}"
Packit Service b382a3
        _http_pkcs12_info: "{{ result_ipaserver_test._http_pkcs12_info if result_ipaserver_test._http_pkcs12_info != None else omit }}"
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Setup KRA
Packit Service 0a38ef
      ipaserver_setup_kra:
Packit Service 0a38ef
        hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
        setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
        dm_password: "{{ ipadm_password }}"
Packit Service 0a38ef
        setup_kra: "{{ result_ipaserver_test.setup_kra }}"
Packit Service 0a38ef
        realm: "{{ result_ipaserver_test.realm }}"
Packit Service 0a38ef
        pki_config_override: "{{ ipaserver_pki_config_override |
Packit Service 0a38ef
                                 default(omit) }}"
Packit Service 0a38ef
      when: result_ipaserver_test.setup_kra | bool
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Setup DNS
Packit Service 0a38ef
      ipaserver_setup_dns:
Packit Service 0a38ef
        ip_addresses: "{{ ipaserver_ip_addresses | default([]) }}"
Packit Service 0a38ef
        domain: "{{ result_ipaserver_test.domain }}"
Packit Service 0a38ef
        realm: "{{ result_ipaserver_test.realm }}"
Packit Service 0a38ef
        hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
        setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
        setup_dns: "{{ ipaserver_setup_dns }}"
Packit Service 0a38ef
        forwarders: "{{ result_ipaserver_prepare.forwarders }}"
Packit Service 0a38ef
        forward_policy: "{{ result_ipaserver_prepare.forward_policy }}"
Packit Service 0a38ef
        zonemgr: "{{ ipaserver_zonemgr | default(omit) }}"
Packit Service 0a38ef
        no_dnssec_validation: "{{ result_ipaserver_prepare.no_dnssec_validation }}"
Packit Service 0a38ef
        ### additional ###
Packit Service 0a38ef
        dns_ip_addresses: "{{ result_ipaserver_prepare.dns_ip_addresses }}"
Packit Service 0a38ef
        dns_reverse_zones: "{{ result_ipaserver_prepare.dns_reverse_zones }}"
Packit Service 0a38ef
      when: ipaserver_setup_dns | bool
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Setup ADTRUST
Packit Service 0a38ef
      ipaserver_setup_adtrust:
Packit Service 0a38ef
        hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
        setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
        setup_adtrust: "{{ result_ipaserver_test.setup_adtrust }}"
Packit Service 0a38ef
        ### ad trust ###
Packit Service 0a38ef
        enable_compat: "{{ ipaserver_enable_compat }}"
Packit Service 0a38ef
        rid_base: "{{ result_ipaserver_test.rid_base }}"
Packit Service 0a38ef
        secondary_rid_base: "{{ result_ipaserver_test.secondary_rid_base }}"
Packit Service 0a38ef
        ### additional ###
Packit Service 0a38ef
        adtrust_netbios_name: "{{ result_ipaserver_prepare.adtrust_netbios_name }}"
Packit Service 0a38ef
        adtrust_reset_netbios_name:
Packit Service 0a38ef
          "{{ result_ipaserver_prepare.adtrust_reset_netbios_name }}"
Packit Service 0a38ef
      when: result_ipaserver_test.setup_adtrust
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Set DS password
Packit Service 0a38ef
      ipaserver_set_ds_password:
Packit Service 0a38ef
        dm_password: "{{ ipadm_password }}"
Packit Service 0a38ef
        password: "{{ ipaadmin_password }}"
Packit Service 0a38ef
        domain: "{{ result_ipaserver_test.domain }}"
Packit Service 0a38ef
        realm: "{{ result_ipaserver_test.realm }}"
Packit Service 0a38ef
        hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
        setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
        subject_base: "{{ result_ipaserver_prepare.subject_base }}"
Packit Service 0a38ef
        ca_subject: "{{ result_ipaserver_prepare.ca_subject }}"
Packit Service 0a38ef
        no_pkinit: "{{ result_ipaserver_test.no_pkinit }}"
Packit Service 0a38ef
        no_hbac_allow: "{{ ipaserver_no_hbac_allow }}"
Packit Service 0a38ef
        idstart: "{{ result_ipaserver_test.idstart }}"
Packit Service 0a38ef
        idmax: "{{ result_ipaserver_test.idmax }}"
Packit Service 0a38ef
        dirsrv_config_file: "{{ ipaserver_dirsrv_config_file | default(omit) }}"
Packit Service b382a3
        _dirsrv_pkcs12_info: "{{ result_ipaserver_test._dirsrv_pkcs12_info if result_ipaserver_test._dirsrv_pkcs12_info != None else omit }}"
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Setup client
Packit Service 0a38ef
      include_role:
Packit Service 0a38ef
        name: ipaclient
Packit Service 0a38ef
      vars:
Packit Service 0a38ef
        state: present
Packit Service 0a38ef
        ipaclient_on_master: yes
Packit Service 0a38ef
        ipaclient_domain: "{{ result_ipaserver_test.domain }}"
Packit Service 0a38ef
        ipaclient_realm: "{{ result_ipaserver_test.realm }}"
Packit Service 0a38ef
        ipaclient_servers: ["{{ result_ipaserver_test.hostname }}"]
Packit Service 0a38ef
        ipaclient_hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
        ipaclient_no_ntp:
Packit Service 0a38ef
          "{{ 'true' if result_ipaserver_test.ipa_python_version >= 40690
Packit Service 0a38ef
               else 'false' }}"
Packit Service 0a38ef
        ipaclient_install_packages: "{{ ipaserver_install_packages }}"
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Enable IPA
Packit Service 0a38ef
      ipaserver_enable_ipa:
Packit Service 0a38ef
        hostname: "{{ result_ipaserver_test.hostname }}"
Packit Service 0a38ef
        setup_dns: "{{ ipaserver_setup_dns }}"
Packit Service 0a38ef
        setup_ca: "{{ result_ipaserver_test.setup_ca }}"
Packit Service 0a38ef
      register: result_ipaserver_enable_ipa
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Cleanup root IPA cache
Packit Service 0a38ef
      file:
Packit Service 0a38ef
        path: "/root/.ipa_cache"
Packit Service 0a38ef
        state: absent
Packit Service 0a38ef
      when: result_ipaserver_enable_ipa.changed
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Configure firewalld
Packit Service 0a38ef
      command: >
Packit Service 0a38ef
        firewall-cmd
Packit Service 0a38ef
        --permanent
Packit Service 0a38ef
        --add-service=freeipa-ldap
Packit Service 0a38ef
        --add-service=freeipa-ldaps
Packit Service 0a38ef
        {{ "--add-service=freeipa-trust" if ipaserver_setup_adtrust | bool
Packit Service 0a38ef
           else "" }}
Packit Service 0a38ef
        {{ "--add-service=dns" if ipaserver_setup_dns | bool else "" }}
Packit Service 0a38ef
        {{ "--add-service=ntp" if not ipaclient_no_ntp | bool else "" }}
Packit Service 0a38ef
      when: ipaserver_setup_firewalld | bool
Packit Service 0a38ef
Packit Service 0a38ef
    - name: Install - Configure firewalld runtime
Packit Service 0a38ef
      command: >
Packit Service 0a38ef
        firewall-cmd
Packit Service 0a38ef
        --add-service=freeipa-ldap
Packit Service 0a38ef
        --add-service=freeipa-ldaps
Packit Service 0a38ef
        {{ "--add-service=freeipa-trust" if ipaserver_setup_adtrust | bool
Packit Service 0a38ef
           else "" }}
Packit Service 0a38ef
        {{ "--add-service=dns" if ipaserver_setup_dns | bool else "" }}
Packit Service 0a38ef
        {{ "--add-service=ntp" if not ipaclient_no_ntp | bool else "" }}
Packit Service 0a38ef
      when: ipaserver_setup_firewalld | bool
Packit Service 0a38ef
Packit Service 0a38ef
    when: not result_ipaserver_setup_ca.csr_generated | bool
Packit Service 0a38ef
Packit Service 0a38ef
  always:
Packit Service 0a38ef
  - name: Cleanup temporary files
Packit Service 0a38ef
    file:
Packit Service 0a38ef
      path: "{{ item }}"
Packit Service 0a38ef
      state: absent
Packit Service 0a38ef
    with_items:
Packit Service 0a38ef
    - "/etc/ipa/.tmp_pkcs12_dirsrv"
Packit Service 0a38ef
    - "/etc/ipa/.tmp_pkcs12_http"
Packit Service 0a38ef
    - "/etc/ipa/.tmp_pkcs12_pkinit"
Packit Service 0a38ef
Packit Service 0a38ef
  when: not ansible_check_mode and not
Packit Service 0a38ef
        (not result_ipaserver_test.changed and
Packit Service 0a38ef
         (result_ipaserver_test.client_already_configured is defined or
Packit Service 0a38ef
          result_ipaserver_test.server_already_configured is defined))