У меня есть новый мастер соли в новой системе, и я проверяю некоторые из моих ранее существовавших состояний.
Я дошел до того, что сейчас проверяю способность Солтаобновите LDAP, и, хотя он может успешно подключиться, теперь он выдает ошибку при попытке обновить одно значение. Я удалил вещи для тестирования и получил следующее:
sls:
ldapi-base:
ldap.managed:
- connect_spec:
url: ldapi:///
bind:
method: simple
dn: {{ salt['pillar.get']('ldapi-admin:admin') }}
password: "{{ salt['pillar.get']('ldapi-admin:adminpw') }}"
- entries:
- dc=domain,dc=com:
- delete_others: True
- replace:
objectClass:
- dcObject
- organization
dc: domain
Сообщение об ошибке:
ID: ldapi-base
Function: ldap.managed
Result: False
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/var/tmp/.saltguru_c0a32f_salt/pyall/salt/state.py", line 1933, in call
**cdata['kwargs'])
File "/var/tmp/.saltguru_c0a32f_salt/pyall/salt/loader.py", line 1951, in wrapper
return f(*args, **kwargs)
File "/var/tmp/.saltguru_c0a32f_salt/pyall/salt/states/ldap.py", line 334, in managed
__salt__['ldap3.add'](l, dn, n)
File "/var/tmp/.saltguru_c0a32f_salt/pyall/salt/modules/ldap3.py", line 414, in add
l.c.add_s(dn, modlist)
File "/usr/local/lib/python3.6/site-packages/ldap/ldapobject.py", line 428, in add_s
return self.add_ext_s(dn,modlist,None,None)
File "/usr/local/lib/python3.6/site-packages/ldap/ldapobject.py", line 413, in add_ext_s
msgid = self.add_ext(dn,modlist,serverctrls,clientctrls)
File "/usr/local/lib/python3.6/site-packages/ldap/ldapobject.py", line 410, in add_ext
return self._ldap_call(self._l.add_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
File "/usr/local/lib/python3.6/site-packages/ldap/ldapobject.py", line 313, in _ldap_call
result = func(*args,**kwargs)
TypeError: ('Tuple_to_LDAPMod(): expected a tuple', [('objectClass', [b'dcObject', b'organization']), ('dc', [b'domain'])])
Started: 15:50:22.329045
Duration: 6.884 ms
Changes:
Я смотрел на него идорабатывать его целую вечность, все безрезультатно. Сначала я думал, что это проблема форматирования, поэтому различные элементы были перемешаны и даже удалены. Если я удаляю и dc & objectClass, состояние проходит успешно (но, разумеется, оно ничего не делает).
Я также рассмотрел несколько проблем, перечисленных на Github, и исследовалнесколько (# 53232, # 52022) и даже обновленные (я изначально работал с 2019.2.0). Система, которую я первоначально использовал (сейчас списана), я считаю, была вариантом 2018.xy, но она работала без проблем.
Может кто-нибудь предложить какие-либо предложения, пожалуйста? Насколько я могу судить из примера вывода, он выглядит как кортеж ..
salt --versions-report:
Salt Version:
Salt: 2019.2.2
Dependency Versions:
cffi: 1.12.3
cherrypy: Not Installed
dateutil: Not Installed
docker-py: Not Installed
gitdb: 2.0.5
gitpython: 2.1.11
ioflo: Not Installed
Jinja2: 2.10.1
libgit2: 0.28.1
libnacl: Not Installed
M2Crypto: Not Installed
Mako: Not Installed
msgpack-pure: Not Installed
msgpack-python: 0.6.1
mysql-python: Not Installed
pycparser: 2.19
pycrypto: 2.6.1
pycryptodome: Not Installed
pygit2: 0.28.0
Python: 3.6.9 (default, Aug 22 2019, 01:16:05)
python-gnupg: Not Installed
PyYAML: 5.1
PyZMQ: 18.1.0
RAET: Not Installed
smmap: 2.0.5
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.3.1
System Versions:
dist:
locale: US-ASCII
machine: amd64
release: 12.0-RELEASE
system: FreeBSD
version: Not Installed
Редактировать:
Если я добавлю параметр test=true
в команду соли, я получу следующий результат:
ID: ldapi-base
Function: ldap.managed
Result: None
Comment: Would change LDAP entries
Started: 12:44:54.110453
Duration: 2.371 ms
Changes:
----------
dc=domain,dc=com:
----------
new:
----------
dc:
- domain
o:
- myOrg
objectClass:
- dcObject
- organization
- top
old:
None
Выглядит так, как будто все с солью хорошо, но все, что он передаетСледующий этап не так ли?
И да, поле назначения, на которое он указывает, также является новым, без данных.
Редактировать 2:
Tuple_to_LDAPMod отображается вбыть функцией python-ldap, основанной на этой ссылке на коммит, где я могу найти сообщение об ошибке, которое я получаю. Коммит - обновить сообщение об ошибке до чего-то более значимого.
Редактировать 3:
Обновлен py36-ldap с 3.1.0 до 3.2.0, без эффекта.
Редактировать 4:
Воскрешил моего старого выведенного из строя мастера, основанного на Gentoo / Salt 2018.3.3. Пришлось разобраться с парой проблем, которые обновили Salt до 2018.3.4 (также протестирован 2019.2.2). Может воспроизводить проблему, поэтому, возможно, цель - проблема, или что-то еще происходит. Рассматривая его как проблему на Github в SaltStack
Редактировать 5:
Вопрос отправлен в группу пользователей Salt (рекомендуется следующий шаг).