From 98b4773560131fef852a53102c6adf81fa730c3c Mon Sep 17 00:00:00 2001 From: Frank Brehm Date: Fri, 16 Oct 2020 15:27:05 +0200 Subject: [PATCH] Detecting example database --- inventory/dev-ds.yaml | 2 ++ roles/base/tasks/main.yaml | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/inventory/dev-ds.yaml b/inventory/dev-ds.yaml index 3c3ed1f..d30f7ae 100644 --- a/inventory/dev-ds.yaml +++ b/inventory/dev-ds.yaml @@ -22,3 +22,5 @@ all: become: false lapd_suffix: 'o=isp' lapd_suffix_re: 'o=isp' + example_db_suffix: 'dc=my-domain,dc=com' + example_db_suffix_re: 'dc=my-domain,\s*dc=com' diff --git a/roles/base/tasks/main.yaml b/roles/base/tasks/main.yaml index 28f6aab..5d55497 100644 --- a/roles/base/tasks/main.yaml +++ b/roles/base/tasks/main.yaml @@ -16,11 +16,31 @@ - set_fact: main_database_name: "{{ main_database_rdn.stdout | regex_replace('olcDatabase=', '', ignorecase=1) }}" +- set_fact: + main_database: "{{ ansible_local.openldap_dbs[main_database_name] }}" + - name: "Failing because main database for suffix '{{ lapd_suffix }}' not found." fail: msg: "Failed to detect main database for suffix '{{ lapd_suffix }}'." when: main_database_rdn.rc != 0 +- name: "Detecting RDN of example database:" + shell: "grep -P -l 'olcSuffix:\\s+{{ example_db_suffix_re }}' {{ slapd_cfg_dir }}/cn=config/olcDatabase*.ldif | xargs -i basename {} .ldif" + changed_when: False + register: example_database_rdn + +- set_fact: + example_database_name: '' + example_database: ~ + +- set_fact: + example_database_name: "{{ example_database_rdn.stdout | regex_replace('olcDatabase=', '', ignorecase=1) }}" + when: example_database_rdn.stdout != '' + +- set_fact: + example_database: "{{ ansible_local.openldap_dbs[example_database_name] }}" + when: example_database_name != '' + - include: 'overlays0-memberof.yaml' - include: 'config_root_account.yaml' -- 2.39.5