Я использую следующую анзибль задачу создать базу данных MDB для OpenLDAP:Испытание на существование LDAP DB?
- name: set up MDB database
shell: ldapadd -Y EXTERNAL -H ldapi:/// -f {{tmp_dir}}/mdb.ldif
Однако после того, как DB была установка, если я снова запустить пьес, я получаю ошибку:
<olcSuffix> namingContext "dc=test,dc=cluster" already served by a preceding mdb database
Мне, очевидно, нужно добавить условие when
, так что БД настроена, если она еще не существует. Тем не менее, я не знаю, что тестировать. Должен ли я добавить пользовательский факт, основанный, скажем, на ldapsearch
, или есть лучший способ?
я в конечном итоге делает следующее, что, кажется, работает для моих целей: - название: тест существует ли уже база данных MDB оболочки: ldapsearch -H ldap: // -x -s base -b "" -LLL "namingContexts" | Grep -c "{{ldap_suffix}}" регистр: is_db_setup - имя: настройка базы данных MDB оболочки: ldapadd -Y EXTERNAL -H ldapi: /// -f {{tmp_dir}}/mdb.ldif , когда: not is_db_setup.stdout – loris
Вы должны добавить это как ответ на вопрос. Комментарии не позволяют форматировать, поэтому хорошо отформатированный ответ будет намного легче читать, чем комментарий. –