report.html

Report generated on 27-Jun-2018 at 21:14:51 by pytest-html v1.19.0

Environment

389-ds-base 1.4.0.11-20180627git08b2d88.fc28
Packages {'pytest': '3.6.2', 'py': '1.5.3', 'pluggy': '0.6.0'}
Platform Linux-4.16.12-300.fc28.x86_64-x86_64-with-fedora-28-Twenty_Eight
Plugins {'metadata': '1.7.0', 'html': '1.19.0'}
Python 3.6.5
cyrus-sasl 2.1.27-0.2rc7.fc28
nspr 4.19.0-1.fc28
nss 3.37.3-1.1.fc28
openldap 2.4.46-1.fc28

Summary

772 tests ran in 7121.00 seconds.

588 passed, 17 skipped, 184 failed, 6 errors, 0 expected failures, 0 unexpected passes

Results

Result Test Duration Links
Error suites/ds_tools/replcheck_test.py::test_check_ruv::setup 24.97
topo = <lib389.topologies.TopologyMain object at 0x7fb39eb02b00>

@pytest.fixture(scope="module")
def topo_tls_ldapi(topo):
"""Enable TLS on both masters and reconfigure both agreements
to use TLS Client auth. Also, setup ldapi and export DB
"""

m1 = topo.ms["master1"]
m2 = topo.ms["master2"]
# Create the certmap before we restart for enable_tls
cm_m1 = CertmapLegacy(m1)
cm_m2 = CertmapLegacy(m2)

# We need to configure the same maps for both ....
certmaps = cm_m1.list()
certmaps['default']['DNComps'] = None
certmaps['default']['CmapLdapAttr'] = 'nsCertSubjectDN'

cm_m1.set(certmaps)
cm_m2.set(certmaps)

> [i.enable_tls() for i in topo]

suites/ds_tools/replcheck_test.py:64:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/ds_tools/replcheck_test.py:64: in <listcomp>
[i.enable_tls() for i in topo]
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1658: in enable_tls
self.restart(post_open=post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1327: in restart
self.start(timeout, post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@master1'],), kwargs = {}
retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@master1']

def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.

The arguments are the same as for the call function. Example:

check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists Job for dirsrv@master1.service failed because the control process exited with error code. See "systemctl status dirsrv@master1.service" and "journalctl -xe" for details. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists
Error suites/ds_tools/replcheck_test.py::test_missing_entries::setup 0.00
topo = <lib389.topologies.TopologyMain object at 0x7fb39eb02b00>

@pytest.fixture(scope="module")
def topo_tls_ldapi(topo):
"""Enable TLS on both masters and reconfigure both agreements
to use TLS Client auth. Also, setup ldapi and export DB
"""

m1 = topo.ms["master1"]
m2 = topo.ms["master2"]
# Create the certmap before we restart for enable_tls
cm_m1 = CertmapLegacy(m1)
cm_m2 = CertmapLegacy(m2)

# We need to configure the same maps for both ....
certmaps = cm_m1.list()
certmaps['default']['DNComps'] = None
certmaps['default']['CmapLdapAttr'] = 'nsCertSubjectDN'

cm_m1.set(certmaps)
cm_m2.set(certmaps)

> [i.enable_tls() for i in topo]

suites/ds_tools/replcheck_test.py:64:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/ds_tools/replcheck_test.py:64: in <listcomp>
[i.enable_tls() for i in topo]
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1658: in enable_tls
self.restart(post_open=post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1327: in restart
self.start(timeout, post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@master1'],), kwargs = {}
retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@master1']

def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.

The arguments are the same as for the call function. Example:

check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
Error suites/ds_tools/replcheck_test.py::test_tombstones::setup 0.00
topo = <lib389.topologies.TopologyMain object at 0x7fb39eb02b00>

@pytest.fixture(scope="module")
def topo_tls_ldapi(topo):
"""Enable TLS on both masters and reconfigure both agreements
to use TLS Client auth. Also, setup ldapi and export DB
"""

m1 = topo.ms["master1"]
m2 = topo.ms["master2"]
# Create the certmap before we restart for enable_tls
cm_m1 = CertmapLegacy(m1)
cm_m2 = CertmapLegacy(m2)

# We need to configure the same maps for both ....
certmaps = cm_m1.list()
certmaps['default']['DNComps'] = None
certmaps['default']['CmapLdapAttr'] = 'nsCertSubjectDN'

cm_m1.set(certmaps)
cm_m2.set(certmaps)

> [i.enable_tls() for i in topo]

suites/ds_tools/replcheck_test.py:64:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/ds_tools/replcheck_test.py:64: in <listcomp>
[i.enable_tls() for i in topo]
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1658: in enable_tls
self.restart(post_open=post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1327: in restart
self.start(timeout, post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@master1'],), kwargs = {}
retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@master1']

def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.

The arguments are the same as for the call function. Example:

check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
Error suites/ds_tools/replcheck_test.py::test_conflict_entries::setup 0.00
topo = <lib389.topologies.TopologyMain object at 0x7fb39eb02b00>

@pytest.fixture(scope="module")
def topo_tls_ldapi(topo):
"""Enable TLS on both masters and reconfigure both agreements
to use TLS Client auth. Also, setup ldapi and export DB
"""

m1 = topo.ms["master1"]
m2 = topo.ms["master2"]
# Create the certmap before we restart for enable_tls
cm_m1 = CertmapLegacy(m1)
cm_m2 = CertmapLegacy(m2)

# We need to configure the same maps for both ....
certmaps = cm_m1.list()
certmaps['default']['DNComps'] = None
certmaps['default']['CmapLdapAttr'] = 'nsCertSubjectDN'

cm_m1.set(certmaps)
cm_m2.set(certmaps)

> [i.enable_tls() for i in topo]

suites/ds_tools/replcheck_test.py:64:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/ds_tools/replcheck_test.py:64: in <listcomp>
[i.enable_tls() for i in topo]
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1658: in enable_tls
self.restart(post_open=post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1327: in restart
self.start(timeout, post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@master1'],), kwargs = {}
retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@master1']

def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.

The arguments are the same as for the call function. Example:

check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
Error suites/ds_tools/replcheck_test.py::test_inconsistencies::setup 0.00
topo = <lib389.topologies.TopologyMain object at 0x7fb39eb02b00>

@pytest.fixture(scope="module")
def topo_tls_ldapi(topo):
"""Enable TLS on both masters and reconfigure both agreements
to use TLS Client auth. Also, setup ldapi and export DB
"""

m1 = topo.ms["master1"]
m2 = topo.ms["master2"]
# Create the certmap before we restart for enable_tls
cm_m1 = CertmapLegacy(m1)
cm_m2 = CertmapLegacy(m2)

# We need to configure the same maps for both ....
certmaps = cm_m1.list()
certmaps['default']['DNComps'] = None
certmaps['default']['CmapLdapAttr'] = 'nsCertSubjectDN'

cm_m1.set(certmaps)
cm_m2.set(certmaps)

> [i.enable_tls() for i in topo]

suites/ds_tools/replcheck_test.py:64:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/ds_tools/replcheck_test.py:64: in <listcomp>
[i.enable_tls() for i in topo]
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1658: in enable_tls
self.restart(post_open=post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1327: in restart
self.start(timeout, post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@master1'],), kwargs = {}
retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@master1']

def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.

The arguments are the same as for the call function. Example:

check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
Error suites/replication/conflict_resolve_test.py::TestThreeMasters::()::test_nested_entries::teardown 7.95
def fin():
if not DEBUGGING:
> _delete_test_base(topology_m3.ms["master1"], tb.dn)

suites/replication/conflict_resolve_test.py:160:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/replication/conflict_resolve_test.py:137: in _delete_test_base
inst.delete_ext_s(ent.dn)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:551: in delete_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38cba9748>
func = <built-in method result4 of LDAP object at 0x7fb38caeb698>
args = (151, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.NOT_ALLOWED_ON_NONLEAF: {'desc': 'Operation not allowed on non-leaf', 'info': 'Entry has replication conflicts as children'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NOT_ALLOWED_ON_NONLEAF
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39003 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39003 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39002 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 153 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39003 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39003 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master1 to master3 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists topologies.py 161 INFO Ensuring master master2 to master3 ... replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39003 is was created topologies.py 161 INFO Ensuring master master3 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 already exists topologies.py 161 INFO Ensuring master master3 to master2 ... replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39002 is was created----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working INFO:tests.suites.replication.conflict_resolve_test:Create two child entries under each of two entries INFO:tests.suites.replication.conflict_resolve_test:Create three child entries under each of three entries INFO:tests.suites.replication.conflict_resolve_test:Create two parents on m1 and m2, then on m1 - create a child and delete one parent,on m2 - delete one parent and create a child INFO:tests.suites.replication.conflict_resolve_test:Test a few more parent-child combinations on three instances INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working ------------------------------ Captured log call -------------------------------
replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working conflict_resolve_test.py 803 INFO Create two child entries under each of two entries conflict_resolve_test.py 810 INFO Create three child entries under each of three entries conflict_resolve_test.py 817 INFO Create two parents on m1 and m2, then on m1 - create a child and delete one parent,on m2 - delete one parent and create a child conflict_resolve_test.py 830 INFO Test a few more parent-child combinations on three instances replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working--------------------------- Captured stdout teardown ---------------------------
Instance slapd-master1 removed. Instance slapd-master2 removed. Instance slapd-master3 removed.
Failed suites/paged_results/paged_results_test.py::test_search_dns_ip_aci[ip = "10.8.243.107"] 3.13
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39f08ef28>
test_user = <lib389.idm.user.UserAccount object at 0x7fb39f08e518>
aci_subject = 'ip = "10.8.243.107"'

@pytest.mark.parametrize('aci_subject',
('dns = "{}"'.format(HOSTNAME),
'ip = "{}"'.format(IP_ADDRESS)))
def test_search_dns_ip_aci(topology_st, test_user, aci_subject):
"""Verify that after performing multiple simple paged searches
to completion on the suffix with DNS or IP based ACI

:id: bbfddc46-a8c8-49ae-8c90-7265d05b22a9
:setup: Standalone instance, test user for binding,
varying number of users for the search base
:steps:
1. Back up and remove all previous ACI from suffix
2. Add an anonymous ACI for DNS check
3. Bind as test user
4. Search through added users with a simple paged control
5. Perform steps 4 three times in a row
6. Return ACI to the initial state
7. Go through all steps once again, but use IP subject dn
instead of DNS
:expectedresults:
1. Operation should be successful
2. Anonymous ACI should be successfully added
3. Bind should be successful
4. No error happens, all users should be found and sorted
5. Results should remain the same
6. ACI should be successfully returned
7. Results should be the same with ACI with IP subject dn
"""

users_num = 100
page_size = 5
users_list = add_users(topology_st, users_num, DEFAULT_SUFFIX)
search_flt = r'(uid=test*)'
searchreq_attrlist = ['dn', 'sn']

try:
log.info('Back up current suffix ACI')
acis_bck = topology_st.standalone.aci.list(DEFAULT_SUFFIX, ldap.SCOPE_BASE)

log.info('Add test ACI')
ACI_TARGET = '(targetattr != "userPassword")'
ACI_ALLOW = '(version 3.0;acl "Anonymous access within domain"; allow (read,compare,search)'
ACI_SUBJECT = '(userdn = "ldap:///anyone") and (%s);)' % aci_subject
ACI_BODY = ensure_bytes(ACI_TARGET + ACI_ALLOW + ACI_SUBJECT)
topology_st.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_REPLACE, 'aci', ACI_BODY)])
log.info('Set user bind')
conn = test_user.bind(TEST_USER_PWD)

log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
controls = [req_ctrl]

log.info('Initiate three searches with a paged results control')
for ii in range(3):
log.info('%d search' % (ii + 1))
all_results = paged_search(conn, DEFAULT_SUFFIX, controls,
search_flt, searchreq_attrlist)
log.info('%d results' % len(all_results))
> assert len(all_results) == len(users_list)
E assert 0 == 100
E + where 0 = len([])
E + and 100 = len([<lib389.idm.user.UserAccount object at 0x7fb39f07cf98>, <lib389.idm.user.UserAccount object at 0x7fb39ee196a0>, <lib3...>, <lib389.idm.user.UserAccount object at 0x7fb39f0d55f8>, <lib389.idm.user.UserAccount object at 0x7fb39eea3a90>, ...])

suites/paged_results/paged_results_test.py:564: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.paged_results.paged_results_test:Adding 100 users INFO:tests.suites.paged_results.paged_results_test:Back up current suffix ACI INFO:tests.suites.paged_results.paged_results_test:Add test ACI INFO:tests.suites.paged_results.paged_results_test:Set user bind INFO:tests.suites.paged_results.paged_results_test:Create simple paged results control instance INFO:tests.suites.paged_results.paged_results_test:Initiate three searches with a paged results control INFO:tests.suites.paged_results.paged_results_test:1 search INFO:tests.suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7fb39ea5ecf8>]. INFO:tests.suites.paged_results.paged_results_test:Getting page 0 INFO:tests.suites.paged_results.paged_results_test:0 results INFO:tests.suites.paged_results.paged_results_test:Restore ACI INFO:tests.suites.paged_results.paged_results_test:Deleting 100 users ------------------------------ Captured log call -------------------------------
paged_results_test.py 131 INFO Adding 100 users paged_results_test.py 542 INFO Back up current suffix ACI paged_results_test.py 545 INFO Add test ACI paged_results_test.py 551 INFO Set user bind paged_results_test.py 554 INFO Create simple paged results control instance paged_results_test.py 558 INFO Initiate three searches with a paged results control paged_results_test.py 560 INFO 1 search paged_results_test.py 194 INFO Running simple paged result search with - search suffix: dc=example,dc=com; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 5; controls: [<ldap.controls.libldap.SimplePagedResultsControl object at 0x7fb39ea5ecf8>]. paged_results_test.py 197 INFO Getting page 0 paged_results_test.py 563 INFO 0 results paged_results_test.py 568 INFO Restore ACI paged_results_test.py 153 INFO Deleting 100 users
Failed suites/password/pbkdf2_upgrade_plugin_test.py::test_pbkdf2_upgrade 3.29
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ec3c208>

def test_pbkdf2_upgrade(topology_st):
"""On upgrade pbkdf2 doesn't ship. We need to be able to
provide this on upgrade to make sure default hashes work.
However, password plugins are special - they need really
early bootstap so that setting the default has specs work.

This tests that the removal of the pbkdf2 plugin causes
it to be re-bootstrapped and added.

:id: c2198692-7c02-433b-af5b-3be54920571a
:setup: Single instance
:steps: 1. Remove the PBKDF2 plugin
2. Restart the server
3. Restart the server
:expectedresults:
1. Plugin is removed (IE pre-upgrade state)
2. The plugin is bootstrapped and added
3. No change (already bootstrapped)

"""
# Remove the pbkdf2 plugin config
p1 = PBKDF2Plugin(topology_st.standalone)
assert(p1.exists())
p1._protected = False
p1.delete()
# Restart
> topology_st.standalone.restart()

suites/password/pbkdf2_upgrade_plugin_test.py:39:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1327: in restart
self.start(timeout, post_open)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@standalone1'],)
kwargs = {}, retcode = 1
cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@standalone1']

def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.

The arguments are the same as for the call function. Example:

check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@standalone1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
Job for dirsrv@standalone1.service failed because the control process exited with error code. See "systemctl status dirsrv@standalone1.service" and "journalctl -xe" for details.
Failed suites/replication/cleanallruv_test.py::test_abort_restart 12.62
topology_m4 = <lib389.topologies.TopologyMain object at 0x7fb39f6fc160>
m4rid = '5'

def test_abort_restart(topology_m4, m4rid):
"""Test the abort task can handle a restart, and then resume

:id: b66e33d4-fe85-4e1c-b882-75da80f70ab3
:setup: Replication setup with four masters
:steps:
1. Disable replication on master 4
2. Remove agreements to master 4 from other masters
3. Stop master 3
4. Run a cleanallruv task on master 1
5. Run a cleanallruv abort task on master 1
6. Restart master 1
7. Make sure that no crash happened
8. Start master 3
9. Check master 1 does not have the clean task running
10. Check that errors log doesn't have 'Aborting abort task' message
:expectedresults:
1. Replication on master 4 should be disabled
2. Agreements to master 4 should be removed
3. Master 3 should be stopped
4. Operation should be successful
5. Operation should be successful
6. Master 1 should be restarted
7. No crash should happened
8. Master 3 should be started
9. Check master 1 shouldn't have the clean task running
10. Errors log shouldn't have 'Aborting abort task' message
"""

log.info('Running test_abort_restart...')
# Remove the agreements from the other masters that point to master 4
remove_master4_agmts("test_abort", topology_m4)

# Stop master 3
log.info('test_abort_restart: stop master 3 to freeze the cleanAllRUV task...')
topology_m4.ms["master3"].stop()

# Run the task
log.info('test_abort_restart: add the cleanAllRUV task...')
cruv_task = CleanAllRUVTask(topology_m4.ms["master1"])
cruv_task.create(properties={
'replica-id': m4rid,
'replica-base-dn': DEFAULT_SUFFIX
})
# Wait a bit
time.sleep(2)

# Abort the task
abort_task = cruv_task.abort()

# Check master 1 does not have the clean task running
log.info('test_abort_abort: check master 1 no longer has a cleanAllRUV task...')
if not task_done(topology_m4, cruv_task.dn):
log.fatal('test_abort_restart: CleanAllRUV task was not aborted')
assert False

# Now restart master 1, and make sure the abort process completes
topology_m4.ms["master1"].restart()
if topology_m4.ms["master1"].detectDisorderlyShutdown():
log.fatal('test_abort_restart: Master 1 previously crashed!')
assert False

# Start master 3
topology_m4.ms["master3"].start()

# Check master 1 tried to run abort task. We expect the abort task to be aborted.
if not topology_m4.ms["master1"].searchErrorsLog('Aborting abort task'):
log.fatal('test_abort_restart: Abort task did not restart')
> assert False
E assert False

suites/replication/cleanallruv_test.py:453: AssertionError
---------------------------- Captured stderr setup -----------------------------
DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39003 is working DEBUG:tests.suites.replication.cleanallruv_test:-------------- FINISH RESET of m4 ----------------- ------------------------------ Captured log setup ------------------------------
cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39001 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39003 is working cleanallruv_test.py 162 DEBUG -------------- FINISH RESET of m4 ---------------------------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.cleanallruv_test:Running test_abort_restart... INFO:tests.suites.replication.cleanallruv_test:test_abort: remove all the agreements to master 4... INFO:tests.suites.replication.cleanallruv_test:test_abort_restart: stop master 3 to freeze the cleanAllRUV task... INFO:tests.suites.replication.cleanallruv_test:test_abort_restart: add the cleanAllRUV task... INFO:tests.suites.replication.cleanallruv_test:test_abort_abort: check master 1 no longer has a cleanAllRUV task... CRITICAL:tests.suites.replication.cleanallruv_test:test_abort_restart: Abort task did not restart ------------------------------ Captured log call -------------------------------
cleanallruv_test.py 414 INFO Running test_abort_restart... cleanallruv_test.py 67 INFO test_abort: remove all the agreements to master 4... cleanallruv_test.py 419 INFO test_abort_restart: stop master 3 to freeze the cleanAllRUV task... cleanallruv_test.py 423 INFO test_abort_restart: add the cleanAllRUV task... cleanallruv_test.py 436 INFO test_abort_abort: check master 1 no longer has a cleanAllRUV task... cleanallruv_test.py 452 CRITICAL test_abort_restart: Abort task did not restart
Failed suites/replication/cleanallruv_test.py::test_abort_certify 130.40
topology_m4 = <lib389.topologies.TopologyMain object at 0x7fb39f6fc160>
m4rid = '5'

def test_abort_certify(topology_m4, m4rid):
"""Test the abort task with a replica-certify-all option

:id: 78959966-d644-44a8-b98c-1fcf21b45eb0
:setup: Replication setup with four masters
:steps:
1. Disable replication on master 4
2. Remove agreements to master 4 from other masters
3. Stop master 2
4. Run a cleanallruv task on master 1
5. Run a cleanallruv abort task on master 1 with a replica-certify-all option
:expectedresults: No hanging tasks left
1. Replication on master 4 should be disabled
2. Agreements to master 4 should be removed
3. Master 2 should be stopped
4. Operation should be successful
5. Operation should be successful
"""

log.info('Running test_abort_certify...')

# Remove the agreements from the other masters that point to master 4
remove_master4_agmts("test_abort_certify", topology_m4)

# Stop master 2
log.info('test_abort_certify: stop master 2 to freeze the cleanAllRUV task...')
topology_m4.ms["master2"].stop()

# Run the task
log.info('test_abort_certify: add the cleanAllRUV task...')
cruv_task = CleanAllRUVTask(topology_m4.ms["master1"])
cruv_task.create(properties={
'replica-id': m4rid,
'replica-base-dn': DEFAULT_SUFFIX
})
# Wait a bit
time.sleep(2)

# Abort the task
log.info('test_abort_certify: abort the cleanAllRUV task...')
abort_task = cruv_task.abort(certify=True)

# Wait a while and make sure the abort task is still running
log.info('test_abort_certify: sleep for 5 seconds')
time.sleep(5)

if task_done(topology_m4, abort_task.dn, 60):
log.fatal('test_abort_certify: abort task incorrectly finished')
assert False

# Now start master 2 so it can be aborted
log.info('test_abort_certify: start master 2 to allow the abort task to finish...')
topology_m4.ms["master2"].start()

# Wait for the abort task to stop
if not task_done(topology_m4, abort_task.dn, 60):
log.fatal('test_abort_certify: The abort CleanAllRUV task was not aborted')
> assert False
E assert False

suites/replication/cleanallruv_test.py:515: AssertionError
---------------------------- Captured stderr setup -----------------------------
DEBUG:tests.suites.replication.cleanallruv_test:-------------- BEGIN RESET of m4 ----------------- INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39003 is working DEBUG:tests.suites.replication.cleanallruv_test:-------------- FINISH RESET of m4 ----------------- ------------------------------ Captured log setup ------------------------------
cleanallruv_test.py 141 DEBUG -------------- BEGIN RESET of m4 ----------------- replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39004 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39004 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39004 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39001 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39004 to ldap://server.example.com:39003 is working cleanallruv_test.py 162 DEBUG -------------- FINISH RESET of m4 ---------------------------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.cleanallruv_test:Running test_abort_certify... INFO:tests.suites.replication.cleanallruv_test:test_abort_certify: remove all the agreements to master 4... INFO:tests.suites.replication.cleanallruv_test:test_abort_certify: stop master 2 to freeze the cleanAllRUV task... INFO:tests.suites.replication.cleanallruv_test:test_abort_certify: add the cleanAllRUV task... INFO:tests.suites.replication.cleanallruv_test:test_abort_certify: abort the cleanAllRUV task... INFO:tests.suites.replication.cleanallruv_test:test_abort_certify: sleep for 5 seconds INFO:tests.suites.replication.cleanallruv_test:test_abort_certify: start master 2 to allow the abort task to finish... CRITICAL:tests.suites.replication.cleanallruv_test:test_abort_certify: The abort CleanAllRUV task was not aborted ------------------------------ Captured log call -------------------------------
cleanallruv_test.py 477 INFO Running test_abort_certify... cleanallruv_test.py 67 INFO test_abort_certify: remove all the agreements to master 4... cleanallruv_test.py 483 INFO test_abort_certify: stop master 2 to freeze the cleanAllRUV task... cleanallruv_test.py 487 INFO test_abort_certify: add the cleanAllRUV task... cleanallruv_test.py 497 INFO test_abort_certify: abort the cleanAllRUV task... cleanallruv_test.py 501 INFO test_abort_certify: sleep for 5 seconds cleanallruv_test.py 509 INFO test_abort_certify: start master 2 to allow the abort task to finish... cleanallruv_test.py 514 CRITICAL test_abort_certify: The abort CleanAllRUV task was not aborted
Failed suites/replication/conflict_resolve_test.py::TestTwoMasters::()::test_memberof_groups 28.96
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7fb38cbe3eb8>
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38f2f49b0>
test_base = <lib389.idm.nscontainer.nsContainer object at 0x7fb38cbe3438>

def test_memberof_groups(self, topology_m2, test_base):
"""Check that conflict properly resolved for operations
with memberOf and groups

:id: 77f09b18-03d1-45da-940b-1ad2c2908eb3
:setup: Two master replication, test container for entries, enable plugin logging,
audit log, error log for replica and access log for internal
:steps:
1. Enable memberOf plugin
2. Add 30 users to m1 and wait for replication to happen
3. Pause replication
4. Create a group on m1 and m2
5. Create a group on m1 and m2, delete from m1
6. Create a group on m1, delete from m1, and create on m2,
7. Create a group on m2 and m1, delete from m1
8. Create two different groups on m2
9. Resume replication
10. Check that the entries on both masters are the same and replication is working
:expectedresults:
1. It should pass
2. It should pass
3. It should pass
4. It should pass
5. It should pass
6. It should pass
7. It should pass
8. It should pass
9. It should pass
10. It should pass
"""

M1 = topology_m2.ms["master1"]
M2 = topology_m2.ms["master2"]
test_users_m1 = UserAccounts(M1, test_base.dn, rdn=None)
test_groups_m1 = Groups(M1, test_base.dn, rdn=None)
test_groups_m2 = Groups(M2, test_base.dn, rdn=None)

repl = ReplicationManager(SUFFIX)

for inst in topology_m2.ms.values():
memberof = MemberOfPlugin(inst)
memberof.enable()
agmt = Agreements(inst).list()[0]
agmt.replace_many(('nsDS5ReplicatedAttributeListTotal',
'(objectclass=*) $ EXCLUDE '),
('nsDS5ReplicatedAttributeList',
'(objectclass=*) $ EXCLUDE memberOf'))
inst.restart()
user_dns = []
for user_num in range(10):
user_trio = []
for num in range(0, 30, 10):
user = _create_user(test_users_m1, 1200 + user_num + num)
user_trio.append(user.dn)
user_dns.append(user_trio)

repl.test_replication(M1, M2)
topology_m2.pause_all_replicas()

log.info("Check a simple conflict")
group_num = 0
_create_group(test_groups_m1, group_num, user_dns[group_num], sleep=True)
_create_group(test_groups_m2, group_num, user_dns[group_num], sleep=True)

log.info("Check a add - del")
group_num += 1
_create_group(test_groups_m1, group_num, user_dns[group_num], sleep=True)
_create_group(test_groups_m2, group_num, user_dns[group_num], sleep=True)
_delete_group(test_groups_m1, group_num)

group_num += 1
_create_group(test_groups_m1, group_num, user_dns[group_num])
_delete_group(test_groups_m1, group_num, sleep=True)
_create_group(test_groups_m2, group_num, user_dns[group_num])

group_num += 1
_create_group(test_groups_m2, group_num, user_dns[group_num], sleep=True)
_create_group(test_groups_m1, group_num, user_dns[group_num])
_delete_group(test_groups_m1, group_num, sleep=True)

group_num += 1
_create_group(test_groups_m2, group_num, user_dns[group_num])
group_num += 1
_create_group(test_groups_m2, group_num, user_dns[group_num])

topology_m2.resume_all_replicas()

repl.test_replication_topology(topology_m2)

group_dns_m1 = [group.dn for group in test_groups_m1.list()]
group_dns_m2 = [group.dn for group in test_groups_m2.list()]
> assert set(group_dns_m1) == set(group_dns_m2)
E AssertionError: assert {'cn=test_gro...ample,dc=com'} == {'cn=test_grou...ample,dc=com'}
E Extra items in the left set:
E 'cn=test_group_0,cn=test_container,dc=example,dc=com'
E Full diff:
E - {'cn=test_group_0,cn=test_container,dc=example,dc=com',
E ? ^
E + {'cn=test_group_2,cn=test_container,dc=example,dc=com',
E ? ^...
E
E ...Full output truncated (4 lines hidden), use '-vv' to show

suites/replication/conflict_resolve_test.py:459: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:tests.suites.replication.conflict_resolve_test:Check a simple conflict INFO:tests.suites.replication.conflict_resolve_test:Check a add - del INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working ------------------------------ Captured log call -------------------------------
replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working conflict_resolve_test.py 427 INFO Check a simple conflict conflict_resolve_test.py 432 INFO Check a add - del replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working
Failed suites/replication/conflict_resolve_test.py::TestTwoMasters::()::test_managed_entries 20.08
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7fb38cafdcc0>
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38f2f49b0>

def test_managed_entries(self, topology_m2):
"""Check that conflict properly resolved for operations
with managed entries

:id: 77f09b18-03d1-45da-940b-1ad2c2908eb4
:setup: Two master replication, test container for entries, enable plugin logging,
audit log, error log for replica and access log for internal
:steps:
1. Create ou=managed_users and ou=managed_groups under test container
2. Configure managed entries plugin and add a template to test container
3. Add a user to m1 and wait for replication to happen
4. Pause replication
5. Create a user on m1 and m2 with a same group ID on both master
6. Create a user on m1 and m2 with a different group ID on both master
7. Resume replication
8. Check that the entries on both masters are the same and replication is working
:expectedresults:
1. It should pass
2. It should pass
3. It should pass
4. It should pass
5. It should pass
6. It should pass
7. It should pass
8. It should pass
"""

M1 = topology_m2.ms["master1"]
M2 = topology_m2.ms["master2"]
repl = ReplicationManager(SUFFIX)

ous = OrganizationalUnits(M1, DEFAULT_SUFFIX)
ou_people = ous.create(properties={'ou': 'managed_people'})
ou_groups = ous.create(properties={'ou': 'managed_groups'})

test_users_m1 = UserAccounts(M1, DEFAULT_SUFFIX, rdn='ou={}'.format(ou_people.rdn))
test_users_m2 = UserAccounts(M2, DEFAULT_SUFFIX, rdn='ou={}'.format(ou_people.rdn))

# TODO: Refactor ManagedPlugin class functionality (also add configs and templates)
conts = nsContainers(M1, SUFFIX)
template = conts.create(properties={
'objectclass': 'top mepTemplateEntry extensibleObject'.split(),
'cn': 'MEP Template',
'mepRDNAttr': 'cn',
'mepStaticAttr': ['objectclass: posixGroup', 'objectclass: extensibleObject'],
'mepMappedAttr': ['cn: $uid', 'uid: $cn', 'gidNumber: $uidNumber']
})
> repl.test_replication(M1, M2)

suites/replication/conflict_resolve_test.py:508:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1892: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7fb38ca9d550>
from_instance = <lib389.DirSrv object at 0x7fb38cba12e8>
to_instance = <lib389.DirSrv object at 0x7fb39e6da710>, timeout = 20

def wait_for_replication(self, from_instance, to_instance, timeout=20):
"""Wait for a replication event to occur from instance to instance. This
shows some point of synchronisation has occured.

:param from_instance: The instance whos state we we want to check from
:type from_instance: lib389.DirSrv
:param to_instance: The instance whos state we want to check matches from.
:type to_instance: lib389.DirSrv
:param timeout: Fail after timeout seconds.
:type timeout: int

"""
# Touch something then wait_for_replication.
from_groups = Groups(from_instance, basedn=self._suffix, rdn=None)
to_groups = Groups(to_instance, basedn=self._suffix, rdn=None)
from_group = from_groups.get('replication_managers')
to_group = to_groups.get('replication_managers')

change = str(uuid.uuid4())

from_group.replace('description', change)

for i in range(0, timeout):
desc = to_group.get_attr_val_utf8('description')
if change == desc:
self._log.info("SUCCESS: Replication from %s to %s is working" % (from_instance.ldapuri, to_instance.ldapuri))
return True
time.sleep(1)
> raise Exception("Replication did not sync in time!")
E Exception: Replication did not sync in time!

/usr/local/lib/python3.6/site-packages/lib389/replica.py:1876: Exception
Failed suites/replication/conflict_resolve_test.py::TestTwoMasters::()::test_nested_entries_with_children 20.17
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7fb38cc185f8>
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38f2f49b0>
test_base = <lib389.idm.nscontainer.nsContainer object at 0x7fb38cc18b38>

def test_nested_entries_with_children(self, topology_m2, test_base):
"""Check that conflict properly resolved for operations
with nested entries with children

:id: 77f09b18-03d1-45da-940b-1ad2c2908eb5
:setup: Two master replication, test container for entries, enable plugin logging,
audit log, error log for replica and access log for internal
:steps:
1. Add 15 containers to m1 and wait for replication to happen
2. Pause replication
3. Create parent-child on master2 and master1
4. Create parent-child on master1 and master2
5. Create parent-child on master1 and master2 different child rdn
6. Create parent-child on master1 and delete parent on master2
7. Create parent on master1, delete it and parent-child on master2, delete them
8. Create parent on master1, delete it and parent-two children on master2
9. Create parent-two children on master1 and parent-child on master2, delete them
10. Create three subsets inside existing container entry, applying only part of changes on m2
11. Create more combinations of the subset with parent-child on m1 and parent on m2
12. Delete container on m1, modify user1 on m1, create parent on m2 and modify user2 on m2
13. Resume replication
14. Check that the entries on both masters are the same and replication is working
:expectedresults:
1. It should pass
2. It should pass
3. It should pass
4. It should pass
5. It should pass
6. It should pass
7. It should pass
8. It should pass
9. It should pass
10. It should pass
11. It should pass
12. It should pass
13. It should pass
14. It should pass
"""

M1 = topology_m2.ms["master1"]
M2 = topology_m2.ms["master2"]
repl = ReplicationManager(SUFFIX)
test_users_m1 = UserAccounts(M1, test_base.dn, rdn=None)
test_users_m2 = UserAccounts(M2, test_base.dn, rdn=None)
_create_user(test_users_m1, 4000)
_create_user(test_users_m1, 4001)

cont_list = []
for num in range(15):
cont = _create_container(M1, test_base.dn, 'sub{}'.format(num))
cont_list.append(cont)

> repl.test_replication(M1, M2)

suites/replication/conflict_resolve_test.py:590:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1892: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7fb39ee126d8>
from_instance = <lib389.DirSrv object at 0x7fb38cba12e8>
to_instance = <lib389.DirSrv object at 0x7fb39e6da710>, timeout = 20

def wait_for_replication(self, from_instance, to_instance, timeout=20):
"""Wait for a replication event to occur from instance to instance. This
shows some point of synchronisation has occured.

:param from_instance: The instance whos state we we want to check from
:type from_instance: lib389.DirSrv
:param to_instance: The instance whos state we want to check matches from.
:type to_instance: lib389.DirSrv
:param timeout: Fail after timeout seconds.
:type timeout: int

"""
# Touch something then wait_for_replication.
from_groups = Groups(from_instance, basedn=self._suffix, rdn=None)
to_groups = Groups(to_instance, basedn=self._suffix, rdn=None)
from_group = from_groups.get('replication_managers')
to_group = to_groups.get('replication_managers')

change = str(uuid.uuid4())

from_group.replace('description', change)

for i in range(0, timeout):
desc = to_group.get_attr_val_utf8('description')
if change == desc:
self._log.info("SUCCESS: Replication from %s to %s is working" % (from_instance.ldapuri, to_instance.ldapuri))
return True
time.sleep(1)
> raise Exception("Replication did not sync in time!")
E Exception: Replication did not sync in time!

/usr/local/lib/python3.6/site-packages/lib389/replica.py:1876: Exception
Failed suites/replication/conflict_resolve_test.py::TestThreeMasters::()::test_nested_entries 64.50
self = <tests.suites.replication.conflict_resolve_test.TestThreeMasters object at 0x7fb38cba9320>
topology_m3 = <lib389.topologies.TopologyMain object at 0x7fb39ede9630>
test_base_m3 = <lib389.idm.nscontainer.nsContainer object at 0x7fb39ee01940>

def test_nested_entries(self, topology_m3, test_base_m3):
"""Check that conflict properly resolved for operations
with nested entries with children

:id: 77f09b18-03d1-45da-940b-1ad2c2908eb6
:setup: Three master replication, test container for entries, enable plugin logging,
audit log, error log for replica and access log for internal
:steps:
1. Add 15 containers to m1 and wait for replication to happen
2. Pause replication
3. Create two child entries under each of two entries
4. Create three child entries under each of three entries
5. Create two parents on m1 and m2, then on m1 - create a child and delete one parent,
on m2 - delete one parent and create a child
6. Test a few more parent-child combinations with three instances
7. Resume replication
8. Check that the entries on both masters are the same and replication is working
:expectedresults:
1. It should pass
2. It should pass
3. It should pass
4. It should pass
5. It should pass
6. It should pass
7. It should pass
8. It should pass
"""

M1 = topology_m3.ms["master1"]
M2 = topology_m3.ms["master2"]
M3 = topology_m3.ms["master3"]
repl = ReplicationManager(SUFFIX)

cont_list = []
for num in range(11):
cont = _create_container(M1, test_base_m3.dn, 'sub{}'.format(num))
cont_list.append(cont)

repl.test_replication(M1, M2)
repl.test_replication(M1, M3)

topology_m3.pause_all_replicas()

log.info("Create two child entries under each of two entries")
cont_num = -1
for num in range(2):
cont_num += 1
_create_container(M1, cont_list[cont_num].dn, 'p0', sleep=True)
_create_container(M2, cont_list[cont_num].dn, 'p1', sleep=True)

log.info("Create three child entries under each of three entries")
for num in range(3):
cont_num += 1
_create_container(M1, cont_list[cont_num].dn, 'p0', sleep=True)
_create_container(M2, cont_list[cont_num].dn, 'p1', sleep=True)
_create_container(M3, cont_list[cont_num].dn, 'p2', sleep=True)

log.info("Create two parents on m1 and m2, then on m1 - create a child and delete one parent,"
"on m2 - delete one parent and create a child")
for inst1, inst2 in ((M1, M2), (M2, M1)):
cont_num += 1
cont_p_m1_1 = _create_container(inst1, cont_list[cont_num].dn, 'p0')
cont_p_m1_2 = _create_container(inst1, cont_list[cont_num].dn, 'p1', sleep=True)
cont_p_m2_1 = _create_container(inst2, cont_list[cont_num].dn, 'p0')
cont_p_m2_2 = _create_container(inst2, cont_list[cont_num].dn, 'p1', sleep=True)
_create_container(inst1, cont_p_m1_1.dn, 'c0', sleep=True)
_delete_container(cont_p_m2_1, sleep=True)
_delete_container(cont_p_m1_2, sleep=True)
_create_container(inst2, cont_p_m2_2.dn, 'c0', sleep=True)

log.info("Test a few more parent-child combinations on three instances")
for inst1, inst2, inst3 in ((M1, M2, M3), (M2, M1, M3), (M3, M1, M2)):
cont_num += 1
cont_p_m1 = _create_container(inst1, cont_list[cont_num].dn, 'p0')
_delete_container(cont_p_m1, sleep=True)

cont_p_m2 = _create_container(inst2, cont_list[cont_num].dn, 'p0')
cont_c_m2 = _create_container(inst2, cont_p_m2.dn, 'c0')
_delete_container(cont_c_m2)
_delete_container(cont_p_m2, sleep=True)

cont_p_m3 = _create_container(inst3, cont_list[cont_num].dn, 'p0')
_create_container(inst3, cont_p_m3.dn, 'c0')
_create_container(inst3, cont_p_m3.dn, 'c1', sleep=True)

topology_m3.resume_all_replicas()

> repl.test_replication_topology(topology_m3)

suites/replication/conflict_resolve_test.py:847:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1906: in test_replication_topology
self.test_replication(a, b, timeout)
/usr/local/lib/python3.6/site-packages/lib389/replica.py:1892: in test_replication
self.wait_for_replication(from_instance, to_instance, timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7fb39ee01048>
from_instance = <lib389.DirSrv object at 0x7fb38ca08160>
to_instance = <lib389.DirSrv object at 0x7fb38cba9748>, timeout = 20

def wait_for_replication(self, from_instance, to_instance, timeout=20):
"""Wait for a replication event to occur from instance to instance. This
shows some point of synchronisation has occured.

:param from_instance: The instance whos state we we want to check from
:type from_instance: lib389.DirSrv
:param to_instance: The instance whos state we want to check matches from.
:type to_instance: lib389.DirSrv
:param timeout: Fail after timeout seconds.
:type timeout: int

"""
# Touch something then wait_for_replication.
from_groups = Groups(from_instance, basedn=self._suffix, rdn=None)
to_groups = Groups(to_instance, basedn=self._suffix, rdn=None)
from_group = from_groups.get('replication_managers')
to_group = to_groups.get('replication_managers')

change = str(uuid.uuid4())

from_group.replace('description', change)

for i in range(0, timeout):
desc = to_group.get_attr_val_utf8('description')
if change == desc:
self._log.info("SUCCESS: Replication from %s to %s is working" % (from_instance.ldapuri, to_instance.ldapuri))
return True
time.sleep(1)
> raise Exception("Replication did not sync in time!")
E Exception: Replication did not sync in time!

/usr/local/lib/python3.6/site-packages/lib389/replica.py:1876: Exception
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Joining master master3 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39003 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39003 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master1 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists INFO:lib389.topologies:Ensuring master master2 to master3 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39003 is was created INFO:lib389.topologies:Ensuring master master3 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 already exists INFO:lib389.topologies:Ensuring master master3 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39002 is was created ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 153 INFO Joining master master3 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39003 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39003 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39003 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master1 to master3 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39003 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists topologies.py 161 INFO Ensuring master master2 to master3 ... replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39003 is was created topologies.py 161 INFO Ensuring master master3 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39001 already exists topologies.py 161 INFO Ensuring master master3 to master2 ... replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39003 to ldap://server.example.com:39002 is was created----------------------------- Captured stderr call -----------------------------
INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working INFO:tests.suites.replication.conflict_resolve_test:Create two child entries under each of two entries INFO:tests.suites.replication.conflict_resolve_test:Create three child entries under each of three entries INFO:tests.suites.replication.conflict_resolve_test:Create two parents on m1 and m2, then on m1 - create a child and delete one parent,on m2 - delete one parent and create a child INFO:tests.suites.replication.conflict_resolve_test:Test a few more parent-child combinations on three instances INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working ------------------------------ Captured log call -------------------------------
replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working conflict_resolve_test.py 803 INFO Create two child entries under each of two entries conflict_resolve_test.py 810 INFO Create three child entries under each of three entries conflict_resolve_test.py 817 INFO Create two parents on m1 and m2, then on m1 - create a child and delete one parent,on m2 - delete one parent and create a child conflict_resolve_test.py 830 INFO Test a few more parent-child combinations on three instances replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39003 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39003 is working
Failed suites/replication/encryption_cl5_test.py::test_algorithm_unhashed[AES] 2.33
topology_with_tls = <lib389.topologies.TopologyMain object at 0x7fb39e91a6d8>
encryption = 'AES'

@pytest.mark.parametrize("encryption", ["AES", "3DES"])
def test_algorithm_unhashed(topology_with_tls, encryption):
"""Check encryption algowithm AES and 3DES.
And check unhashed#user#password attribute for encryption.

:id: b7a37bf8-4b2e-4dbd-9891-70117d67558c
:setup: Replication with two masters and SSL configured.
:steps: 1. Enable changelog encrytion on master1 (try AES and 3DES).
2. Add a user to master1/master2
3. Run dbscan -f on m1 to check unhashed#user#password
attribute is encrypted.
4. Run dbscan -f on m2 to check unhashed#user#password
attribute is in cleartext.
5. Modify password in master2/master1
6. Run dbscan -f on m1 to check unhashed#user#password
attribute is encrypted.
7. Run dbscan -f on m2 to check unhashed#user#password
attribute is in cleartext.
:expectedresults:
1. It should pass
2. It should pass
3. It should pass
4. It should pass
5. It should pass
6. It should pass
7. It should pass
"""

m1 = topology_with_tls.ms['master1']
m2 = topology_with_tls.ms['master2']
test_passw = 'm2Test199'

> _enable_changelog_encryption(m1, encryption)

suites/replication/encryption_cl5_test.py:107:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/replication/encryption_cl5_test.py:49: in _enable_changelog_encryption
inst.start()
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@master1'],), kwargs = {}
retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@master1']

def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.

The arguments are the same as for the call function. Example:

check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists INFO:lib389.replica:SUCCESS: Replication from ldaps://server.example.com:63701 to ldaps://server.example.com:63702 is working ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists replica.py 1873 INFO SUCCESS: Replication from ldaps://server.example.com:63701 to ldaps://server.example.com:63702 is working----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.encryption_cl5_test:Configuring changelog encryption:master1 for: AES Job for dirsrv@master1.service failed because the control process exited with error code. See "systemctl status dirsrv@master1.service" and "journalctl -xe" for details. ------------------------------ Captured log call -------------------------------
encryption_cl5_test.py 44 INFO Configuring changelog encryption:master1 for: AES
Failed suites/replication/encryption_cl5_test.py::test_algorithm_unhashed[3DES] 0.13
topology_with_tls = <lib389.topologies.TopologyMain object at 0x7fb39e91a6d8>
encryption = '3DES'

@pytest.mark.parametrize("encryption", ["AES", "3DES"])
def test_algorithm_unhashed(topology_with_tls, encryption):
"""Check encryption algowithm AES and 3DES.
And check unhashed#user#password attribute for encryption.

:id: b7a37bf8-4b2e-4dbd-9891-70117d67558c
:setup: Replication with two masters and SSL configured.
:steps: 1. Enable changelog encrytion on master1 (try AES and 3DES).
2. Add a user to master1/master2
3. Run dbscan -f on m1 to check unhashed#user#password
attribute is encrypted.
4. Run dbscan -f on m2 to check unhashed#user#password
attribute is in cleartext.
5. Modify password in master2/master1
6. Run dbscan -f on m1 to check unhashed#user#password
attribute is encrypted.
7. Run dbscan -f on m2 to check unhashed#user#password
attribute is in cleartext.
:expectedresults:
1. It should pass
2. It should pass
3. It should pass
4. It should pass
5. It should pass
6. It should pass
7. It should pass
"""

m1 = topology_with_tls.ms['master1']
m2 = topology_with_tls.ms['master2']
test_passw = 'm2Test199'

> _enable_changelog_encryption(m1, encryption)

suites/replication/encryption_cl5_test.py:107:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/replication/encryption_cl5_test.py:49: in _enable_changelog_encryption
inst.start()
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@master1'],), kwargs = {}
retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@master1']

def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.

The arguments are the same as for the call function. Example:

check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.replication.encryption_cl5_test:Configuring changelog encryption:master1 for: 3DES Job for dirsrv@master1.service failed because the control process exited with error code. See "systemctl status dirsrv@master1.service" and "journalctl -xe" for details. ------------------------------ Captured log call -------------------------------
encryption_cl5_test.py 44 INFO Configuring changelog encryption:master1 for: 3DES
Failed suites/replication/tombstone_test.py::test_purge_success 0.02
topology_m1 = <lib389.topologies.TopologyMain object at 0x7fb38caac4e0>

def test_purge_success(topology_m1):
"""Verify that tombstones are created successfully

:id: adb86f50-ae76-4ed6-82b4-3cdc30ccab78
:setup: Standalone instance
:steps:
1. Enable replication to unexisting instance
2. Add an entry to the replicated suffix
3. Delete the entry
4. Check that tombstone entry exists (objectclass=nsTombstone)
:expectedresults: Tombstone entry exist
1. Operation should be successful
2. The entry should be successfully added
3. The entry should be successfully deleted
4. Tombstone entry should exist
"""
m1 = topology_m1.ms['master1']

users = UserAccounts(m1, DEFAULT_SUFFIX)
user = users.create(properties=TEST_USER_PROPERTIES)

tombstones = Tombstones(m1, DEFAULT_SUFFIX)

assert len(tombstones.list()) == 0

user.delete()

assert len(tombstones.list()) == 1
assert len(users.list()) == 0

ts = tombstones.get('testuser')
assert ts.exists()

if not ds_is_older('1.4.0'):
> ts.revive()

suites/replication/tombstone_test.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/tombstone.py:39: in revive
orig_dn = self.get_attr_val_utf8('nscpEntryDN')
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:528: in get_attr_val_utf8
return ensure_str(self.get_attr_val(key))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.tombstone.Tombstone object at 0x7fb38cabf630>
key = 'nscpEntryDN', use_json = False

def get_attr_val(self, key, use_json=False):
self._log.debug("%s getVal(%r)" % (self._dn, key))
# We might need to add a state check for NONE dn.
if self._instance.state != DIRSRV_STATE_ONLINE:
raise ValueError("Invalid state. Cannot get properties on instance that is not ONLINE")
# In the future, I plan to add a mode where if local == true, we
# can use get on dse.ldif to get values offline.
else:
> entry = self._instance.search_ext_s(self._dn, ldap.SCOPE_BASE, self._object_filter, attrlist=[key], serverctrls=self._server_controls, clientctrls=self._client_controls)[0]
E IndexError: list index out of range

/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:494: IndexError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology.
Failed suites/sasl/regression_test.py::test_openldap_no_nss_crypto 11.52
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38ca83ef0>

def test_openldap_no_nss_crypto(topology_m2):
"""Check that we allow usage of OpenLDAP libraries
that don't use NSS for crypto

:id: 0a622f3d-8ba5-4df2-a1de-1fb2237da40a
:setup: Replication with two masters:
master_1 ----- startTLS -----> master_2;
master_1 <-- TLS_clientAuth -- master_2;
nsslapd-extract-pemfiles set to 'on' on both masters
without specifying cert names
:steps:
1. Add 5 users to master 1 and 2
2. Check that the users were successfully replicated
3. Relocate PEM files on master 1
4. Check PEM files in master 1 config directory
5. Add 5 users more to master 1 and 2
6. Check that the users were successfully replicated
7. Export userRoot on master 1
:expectedresults:
1. Users should be successfully added
2. Users should be successfully replicated
3. Operation should be successful
4. PEM files should be found
5. Users should be successfully added
6. Users should be successfully replicated
7. Operation should be successful
"""

log.info("Ticket 47536 - Allow usage of OpenLDAP libraries that don't use NSS for crypto")

> create_keys_certs(topology_m2)

suites/sasl/regression_test.py:393:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/sasl/regression_test.py:201: in create_keys_certs
enable_ssl(topology_m2.ms["master1"], M1LDAPSPORT, M1SERVERCERT)
suites/sasl/regression_test.py:61: in enable_ssl
'nsSSLActivation': 'on'})
/usr/local/lib/python3.6/site-packages/lib389/config.py:260: in create
super(RSA, self).create(properties=properties)
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:770: in create
return self._create(rdn, properties, basedn, ensure=False)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.config.RSA object at 0x7fb39f675668>, rdn = None
properties = {'cn': ['RSA'], 'nsSSLActivation': ['on'], 'nsSSLPersonalitySSL': ['Server-Cert1'], 'nsSSLToken': ['internal (software)'], ...}
basedn = None, ensure = False

def _create(self, rdn=None, properties=None, basedn=None, ensure=False):
"""Internal implementation of create. This is used by ensure
and create, to prevent code duplication. You should *never* call
this method directly.
"""
assert(len(self._create_objectclasses) > 0)
basedn = ensure_str(basedn)
self._log.debug('Checking "%s" under %s : %s' % (rdn, basedn, properties))
# Add the objectClasses to the properties
(dn, valid_props) = self._validate(rdn, properties, basedn)
# Check if the entry exists or not? .add_s is going to error anyway ...
self._log.debug('Validated dn %s : valid_props %s' % (dn, valid_props))

exists = False

try:
self._instance.search_ext_s(dn, ldap.SCOPE_BASE, self._object_filter, attrsonly=1, serverctrls=self._server_controls, clientctrls=self._client_controls)
exists = True
except ldap.NO_SUCH_OBJECT:
pass

if exists and ensure:
# update properties
self._log.debug('Exists %s' % dn)
self._dn = dn
# Now use replace_many to setup our values
mods = []
for k,v in valid_props.items():
mods.append( (ldap.MOD_REPLACE, k, v))
self._instance.modify_ext_s(self._dn, mods, serverctrls=self._server_controls, clientctrls=self._client_controls)
elif exists and not ensure:
# raise "already exists."
> raise ldap.ALREADY_EXISTS("Entry %s already exists" % dn)
E ldap.ALREADY_EXISTS: Entry cn=RSA,cn=encryption,cn=config already exists

/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:745: ALREADY_EXISTS
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists----------------------------- Captured stdout call -----------------------------
Is this a CA certificate [y/N]? Enter the path length constraint, enter to skip [<0 for unlimited path]: > Is this a critical extension [y/N]? ----------------------------- Captured stderr call -----------------------------
INFO:tests.suites.sasl.regression_test:Ticket 47536 - Allow usage of OpenLDAP libraries that don't use NSS for crypto INFO:tests.suites.sasl.regression_test: ######################### Creating SSL Keys and Certs ###################### INFO:tests.suites.sasl.regression_test:##### shutdown master1 INFO:tests.suites.sasl.regression_test:##### Creating a password file INFO:tests.suites.sasl.regression_test:##### create the pin file INFO:tests.suites.sasl.regression_test:##### Creating a noise file INFO:tests.suites.sasl.regression_test:##### Create key3.db and cert8.db database (master1): ['certutil', '-N', '-d', '/etc/dirsrv/slapd-master1', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] INFO:tests.suites.sasl.regression_test: OUT: INFO:tests.suites.sasl.regression_test: ERR: INFO:tests.suites.sasl.regression_test:##### Creating encryption key for CA (master1): ['certutil', '-G', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] INFO:tests.suites.sasl.regression_test: OUT: INFO:tests.suites.sasl.regression_test: ERR: INFO:tests.suites.sasl.regression_test:##### Creating self-signed CA certificate (master1) -- nickname CAcertificate Generating key. This may take a few moments... INFO:tests.suites.sasl.regression_test:##### Creating Server certificate -- nickname Server-Cert1: ['certutil', '-S', '-n', 'Server-Cert1', '-s', 'CN=server.example.com,OU=389 Directory Server', '-c', 'CAcertificate', '-t', ',,', '-m', '1001', '-v', '120', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] INFO:tests.suites.sasl.regression_test: OUT: INFO:tests.suites.sasl.regression_test: ERR: INFO:tests.suites.sasl.regression_test:##### Creating Server certificate -- nickname Server-Cert2: ['certutil', '-S', '-n', 'Server-Cert2', '-s', 'CN=server.example.com,OU=390 Directory Server', '-c', 'CAcertificate', '-t', ',,', '-m', '1002', '-v', '120', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] INFO:tests.suites.sasl.regression_test: OUT: INFO:tests.suites.sasl.regression_test: ERR: INFO:tests.suites.sasl.regression_test:##### start master1 INFO:tests.suites.sasl.regression_test:##### enable SSL in master1 with all ciphers INFO:tests.suites.sasl.regression_test: ######################### Enabling SSL LDAPSPORT 41636 ###################### ------------------------------ Captured log call -------------------------------
regression_test.py 391 INFO Ticket 47536 - Allow usage of OpenLDAP libraries that don't use NSS for crypto regression_test.py 127 INFO ######################### Creating SSL Keys and Certs ###################### regression_test.py 134 INFO ##### shutdown master1 regression_test.py 137 INFO ##### Creating a password file regression_test.py 146 INFO ##### create the pin file regression_test.py 157 INFO ##### Creating a noise file regression_test.py 166 INFO ##### Create key3.db and cert8.db database (master1): ['certutil', '-N', '-d', '/etc/dirsrv/slapd-master1', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] regression_test.py 111 INFO OUT: regression_test.py 117 INFO ERR: regression_test.py 170 INFO ##### Creating encryption key for CA (master1): ['certutil', '-G', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] regression_test.py 111 INFO OUT: regression_test.py 117 INFO ERR: regression_test.py 176 INFO ##### Creating self-signed CA certificate (master1) -- nickname CAcertificate regression_test.py 184 INFO ##### Creating Server certificate -- nickname Server-Cert1: ['certutil', '-S', '-n', 'Server-Cert1', '-s', 'CN=server.example.com,OU=389 Directory Server', '-c', 'CAcertificate', '-t', ',,', '-m', '1001', '-v', '120', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] regression_test.py 111 INFO OUT: regression_test.py 117 INFO ERR: regression_test.py 192 INFO ##### Creating Server certificate -- nickname Server-Cert2: ['certutil', '-S', '-n', 'Server-Cert2', '-s', 'CN=server.example.com,OU=390 Directory Server', '-c', 'CAcertificate', '-t', ',,', '-m', '1002', '-v', '120', '-d', '/etc/dirsrv/slapd-master1', '-z', '/etc/dirsrv/slapd-master1/noise.txt', '-f', '/etc/dirsrv/slapd-master1/pwdfile.txt'] regression_test.py 111 INFO OUT: regression_test.py 117 INFO ERR: regression_test.py 197 INFO ##### start master1 regression_test.py 200 INFO ##### enable SSL in master1 with all ciphers regression_test.py 46 INFO ######################### Enabling SSL LDAPSPORT 41636 ######################
Failed tickets/ticket47462_test.py::test_ticket47462 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38c0cbfd0>

def test_ticket47462(topology_m2):
"""
Test that AES properly replaces DES during an update/restart, and that
replication also works correctly.
"""

#
# First set config as if it's an older version. Set DES to use
# libdes-plugin, MMR to depend on DES, delete the existing AES plugin,
# and set a DES password for the replication agreement.
#
# Add an extra attribute to the DES plugin args
#
try:
topology_m2.ms["master1"].modify_s(DES_PLUGIN,
> [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on')])

tickets/ticket47462_test.py:47:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c0c3f98>
func = <built-in method modify_ext of LDAP object at 0x7fb39eeafc10>
args = ('cn=DES,cn=Password Storage Schemes,cn=plugins,cn=config', [(2, 'nsslapd-pluginEnabled', 'on')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'o')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists
Failed tickets/ticket47560_test.py::test_ticket47560 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38c0d49e8>

def test_ticket47560(topology_st):
"""
This test case does the following:
SETUP
- Create entry cn=group,SUFFIX
- Create entry cn=member,SUFFIX
- Update 'cn=member,SUFFIX' to add "memberOf: cn=group,SUFFIX"
- Enable Memberof Plugins

# Here the cn=member entry has a 'memberOf' but
# cn=group entry does not contain 'cn=member' in its member

TEST CASE
- start the fixupmemberof task
- read the cn=member entry
- check 'memberOf is now empty

TEARDOWN
- Delete entry cn=group,SUFFIX
- Delete entry cn=member,SUFFIX
- Disable Memberof Plugins
"""

def _enable_disable_mbo(value):
"""
Enable or disable mbo plugin depending on 'value' ('on'/'off')
"""
# enable/disable the mbo plugin
if value == 'on':
topology_st.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
else:
topology_st.standalone.plugins.disable(name=PLUGIN_MEMBER_OF)

log.debug("-------------> _enable_disable_mbo(%s)" % value)

topology_st.standalone.stop(timeout=120)
time.sleep(1)
topology_st.standalone.start(timeout=120)
time.sleep(3)

# need to reopen a connection toward the instance
topology_st.standalone.open()

def _test_ticket47560_setup():
"""
- Create entry cn=group,SUFFIX
- Create entry cn=member,SUFFIX
- Update 'cn=member,SUFFIX' to add "memberOf: cn=group,SUFFIX"
- Enable Memberof Plugins
"""
log.debug("-------- > _test_ticket47560_setup\n")

#
# By default the memberof plugin is disabled create
# - create a group entry
# - create a member entry
# - set the member entry as memberof the group entry
#
entry = Entry(group_DN)
entry.setValues('objectclass', 'top', 'groupOfNames', 'inetUser')
entry.setValues('cn', 'group')
try:
topology_st.standalone.add_s(entry)
except ldap.ALREADY_EXISTS:
log.debug("Entry %s already exists" % (group_DN))

entry = Entry(member_DN)
entry.setValues('objectclass', 'top', 'person', 'organizationalPerson', 'inetorgperson', 'inetUser')
entry.setValues('uid', 'member')
entry.setValues('cn', 'member')
entry.setValues('sn', 'member')
try:
topology_st.standalone.add_s(entry)
except ldap.ALREADY_EXISTS:
log.debug("Entry %s already exists" % (member_DN))

replace = [(ldap.MOD_REPLACE, 'memberof', group_DN)]
topology_st.standalone.modify_s(member_DN, replace)

#
# enable the memberof plugin and restart the instance
#
_enable_disable_mbo('on')

#
# check memberof attribute is still present
#
filt = 'uid=member'
ents = topology_st.standalone.search_s(member_DN, ldap.SCOPE_BASE, filt)
assert len(ents) == 1
ent = ents[0]
# print ent
value = ent.getValue('memberof')
# print "memberof: %s" % (value)
assert value == group_DN

def _test_ticket47560_teardown():
"""
- Delete entry cn=group,SUFFIX
- Delete entry cn=member,SUFFIX
- Disable Memberof Plugins
"""
log.debug("-------- > _test_ticket47560_teardown\n")
# remove the entries group_DN and member_DN
try:
topology_st.standalone.delete_s(group_DN)
except:
log.warning("Entry %s fail to delete" % (group_DN))
try:
topology_st.standalone.delete_s(member_DN)
except:
log.warning("Entry %s fail to delete" % (member_DN))
#
# disable the memberof plugin and restart the instance
#
_enable_disable_mbo('off')

group_DN = "cn=group,%s" % (SUFFIX)
member_DN = "uid=member,%s" % (SUFFIX)

#
# Initialize the test case
#
> _test_ticket47560_setup()

tickets/ticket47560_test.py:145:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47560_test.py:99: in _test_ticket47560_setup
topology_st.standalone.modify_s(member_DN, replace)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38cbd2c18>
func = <built-in method modify_ext of LDAP object at 0x7fb38c15ebc0>
args = ('uid=member,dc=example,dc=com', [(2, 'memberof', 'cn=group,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
DEBUG:tests.tickets.ticket47560_test:-------- > _test_ticket47560_setup ------------------------------ Captured log call -------------------------------
ticket47560_test.py 72 DEBUG -------- > _test_ticket47560_setup
Failed tickets/ticket47573_test.py::test_ticket47573_one 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7fb38cbd25f8>

def test_ticket47573_one(topology_m1c1):
"""
Summary: Add a custom OC with MUST and MAY
MUST = postalAddress $ preferredLocale
MAY = telexNumber $ postalCode $ street

Final state
- supplier +OCwithMayAttr
- consumer +OCwithMayAttr

"""
log.debug("test_ticket47573_one topology_m1c1 %r (master %r, consumer %r" % (
topology_m1c1, topology_m1c1.ms["master1"], topology_m1c1.cs["consumer1"]))
# update the schema of the supplier so that it is a superset of
# consumer. Schema should be pushed
new_oc = _oc_definition(2, 'OCwithMayAttr',
must=MUST_OLD,
may=MAY_OLD)
> topology_m1c1.ms["master1"].schema.add_schema('objectClasses', new_oc)

tickets/ticket47573_test.py:151:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c0f15c0>
func = <built-in method modify_ext of LDAP object at 0x7fb38c9e31c0>
args = ('cn=schema', [(0, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'OCwithMayAttr' DESC 'To test ticket 47573' SUP person AUXILIARY MUST (postalAddress $ preferredLocale $ telexNumber) MAY (postalCode $ street) )")], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
DEBUG:tests.tickets.ticket47573_test:test_ticket47573_one topology_m1c1 <lib389.topologies.TopologyMain object at 0x7fb38cbd25f8> (master <lib389.DirSrv object at 0x7fb38c0f15c0>, consumer <lib389.DirSrv object at 0x7fb38c142198> ------------------------------ Captured log call -------------------------------
ticket47573_test.py 145 DEBUG test_ticket47573_one topology_m1c1 <lib389.topologies.TopologyMain object at 0x7fb38cbd25f8> (master <lib389.DirSrv object at 0x7fb38c0f15c0>, consumer <lib389.DirSrv object at 0x7fb38c142198>
Failed tickets/ticket47573_test.py::test_ticket47573_two 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7fb38cbd25f8>

def test_ticket47573_two(topology_m1c1):
"""
Summary: Change OCwithMayAttr to move a MAY attribute to a MUST attribute


Final state
- supplier OCwithMayAttr updated
- consumer OCwithMayAttr updated

"""

# Update the objectclass so that a MAY attribute is moved to MUST attribute
mod_OC(topology_m1c1.ms["master1"], 2, 'OCwithMayAttr', old_must=MUST_OLD, new_must=MUST_NEW, old_may=MAY_OLD,
> new_may=MAY_NEW)

tickets/ticket47573_test.py:181:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47573_test.py:82: in mod_OC
instance.schema.del_schema('objectClasses', old_oc)
/usr/local/lib/python3.6/site-packages/lib389/schema.py:109: in del_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_DELETE, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c0f15c0>
func = <built-in method modify_ext of LDAP object at 0x7fb38c9e31c0>
args = ('cn=schema', [(1, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'OCwithMayAttr' DESC 'To test ticket 47573' SUP person AUXILIARY MUST (postalAddress $ preferredLocale $ telexNumber) MAY (postalCode $ street) )")], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket47573_test.py::test_ticket47573_three 0.00
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7fb38cbd25f8>

def test_ticket47573_three(topology_m1c1):
'''
Create a entry with OCwithMayAttr OC
'''
# Check replication is working fine
dn = "cn=ticket47573, %s" % SUFFIX
topology_m1c1.ms["master1"].add_s(Entry((dn,
{'objectclass': "top person OCwithMayAttr".split(),
'sn': 'test_repl',
'cn': 'test_repl',
'postalAddress': 'here',
'preferredLocale': 'en',
'telexNumber': '12$us$21',
> 'postalCode': '54321'})))

tickets/ticket47573_test.py:212:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c0f15c0>
func = <built-in method result4 of LDAP object at 0x7fb38c9e31c0>
args = (45, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.OBJECT_CLASS_VIOLATION: {'desc': 'Object class violation', 'info': 'unknown object class "OCwithMayAttr"\n'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: OBJECT_CLASS_VIOLATION
Failed tickets/ticket47640_test.py::test_ticket47640 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38bba0a20>

def test_ticket47640(topology_st):
'''
Linked Attrs Plugins - verify that if the plugin fails to update the link entry
that the entire operation is aborted
'''

# Enable Dynamic plugins, and the linked Attrs plugin
try:
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', 'on')])

tickets/ticket47640_test.py:31:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38f0d7c50>
func = <built-in method modify_ext of LDAP object at 0x7fb38c77c328>
args = ('cn=config', [(2, 'nsslapd-dynamic-plugins', 'on')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'o')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket47653MMR_test.py::test_ticket47653_init 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bbf32e8>

def test_ticket47653_init(topology_m2):
"""
It adds
- Objectclass with MAY 'member'
- an entry ('bind_entry') with which we bind to test the 'SELFDN' operation
It deletes the anonymous aci

"""

topology_m2.ms["master1"].log.info("Add %s that allows 'member' attribute" % OC_NAME)
new_oc = _oc_definition(2, OC_NAME, must=MUST, may=MAY)
> topology_m2.ms["master1"].schema.add_schema('objectClasses', new_oc)

tickets/ticket47653MMR_test.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38ca12b00>
func = <built-in method modify_ext of LDAP object at 0x7fb38c9c0300>
args = ('cn=schema', [(0, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'OCticket47653' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ postalCode) MAY (member $ street) )")], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389:Add OCticket47653 that allows 'member' attribute ------------------------------ Captured log call -------------------------------
ticket47653MMR_test.py 71 INFO Add OCticket47653 that allows 'member' attribute
Failed tickets/ticket47653MMR_test.py::test_ticket47653_add 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bbf32e8>

def test_ticket47653_add(topology_m2):
'''
This test ADD an entry on MASTER1 where 47653 is fixed. Then it checks that entry is replicated
on MASTER2 (even if on MASTER2 47653 is NOT fixed). Then update on MASTER2 and check the update on MASTER1

It checks that, bound as bind_entry,
- we can not ADD an entry without the proper SELFDN aci.
- with the proper ACI we can not ADD with 'member' attribute
- with the proper ACI and 'member' it succeeds to ADD
'''
topology_m2.ms["master1"].log.info("\n\n######################### ADD ######################\n")

# bind as bind_entry
topology_m2.ms["master1"].log.info("Bind as %s" % BIND_DN)
> topology_m2.ms["master1"].simple_bind_s(BIND_DN, BIND_PW)

tickets/ticket47653MMR_test.py:117:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38ca12b00>
func = <built-in method result4 of LDAP object at 0x7fb38c9c0300>
args = (55, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: INVALID_CREDENTIALS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### ADD ###################### INFO:lib389:Bind as cn=bind_entry, dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47653MMR_test.py 113 INFO ######################### ADD ###################### ticket47653MMR_test.py 116 INFO Bind as cn=bind_entry, dc=example,dc=com
Failed tickets/ticket47653MMR_test.py::test_ticket47653_modify 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bbf32e8>

def test_ticket47653_modify(topology_m2):
'''
This test MOD an entry on MASTER1 where 47653 is fixed. Then it checks that update is replicated
on MASTER2 (even if on MASTER2 47653 is NOT fixed). Then update on MASTER2 (bound as BIND_DN).
This update may fail whether or not 47653 is fixed on MASTER2

It checks that, bound as bind_entry,
- we can not modify an entry without the proper SELFDN aci.
- adding the ACI, we can modify the entry
'''
# bind as bind_entry
topology_m2.ms["master1"].log.info("Bind as %s" % BIND_DN)
> topology_m2.ms["master1"].simple_bind_s(BIND_DN, BIND_PW)

tickets/ticket47653MMR_test.py:248:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38ca12b00>
func = <built-in method result4 of LDAP object at 0x7fb38c9c0300>
args = (56, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: INVALID_CREDENTIALS
----------------------------- Captured stderr call -----------------------------
INFO:lib389:Bind as cn=bind_entry, dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47653MMR_test.py 247 INFO Bind as cn=bind_entry, dc=example,dc=com
Failed tickets/ticket47676_test.py::test_ticket47676_init 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bbf30b8>

def test_ticket47676_init(topology_m2):
"""
It adds
- Objectclass with MAY 'member'
- an entry ('bind_entry') with which we bind to test the 'SELFDN' operation
It deletes the anonymous aci

"""

topology_m2.ms["master1"].log.info("Add %s that allows 'member' attribute" % OC_NAME)
new_oc = _oc_definition(OC_OID_EXT, OC_NAME, must=MUST, may=MAY)
> topology_m2.ms["master1"].schema.add_schema('objectClasses', new_oc)

tickets/ticket47676_test.py:83:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38caa49b0>
func = <built-in method modify_ext of LDAP object at 0x7fb38c0eca08>
args = ('cn=schema', [(0, 'objectClasses', "( 1.2.3.4.5.6.7.8.9.10.2 NAME 'OCticket47676' DESC 'To test ticket 47490' SUP person AUXILIARY MUST (postalAddress $ postalCode) MAY (member $ street) )")], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389:Add OCticket47676 that allows 'member' attribute ------------------------------ Captured log call -------------------------------
ticket47676_test.py 81 INFO Add OCticket47676 that allows 'member' attribute
Failed tickets/ticket47676_test.py::test_ticket47676_skip_oc_at 0.11
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bbf30b8>

def test_ticket47676_skip_oc_at(topology_m2):
'''
This test ADD an entry on MASTER1 where 47676 is fixed. Then it checks that entry is replicated
on MASTER2 (even if on MASTER2 47676 is NOT fixed). Then update on MASTER2.
If the schema has successfully been pushed, updating Master2 should succeed
'''
topology_m2.ms["master1"].log.info("\n\n######################### ADD ######################\n")

# bind as 'cn=Directory manager'
topology_m2.ms["master1"].log.info("Bind as %s and add the add the entry with specific oc" % DN_DM)
topology_m2.ms["master1"].simple_bind_s(DN_DM, PASSWORD)

# Prepare the entry with multivalued members
entry = Entry(ENTRY_DN)
entry.setValues('objectclass', 'top', 'person', 'OCticket47676')
entry.setValues('sn', ENTRY_NAME)
entry.setValues('cn', ENTRY_NAME)
entry.setValues('postalAddress', 'here')
entry.setValues('postalCode', '1234')
members = []
for cpt in range(MAX_OTHERS):
name = "%s%d" % (OTHER_NAME, cpt)
members.append("cn=%s,%s" % (name, SUFFIX))
members.append(BIND_DN)
entry.setValues('member', members)

topology_m2.ms["master1"].log.info("Try to add Add %s should be successful" % ENTRY_DN)
> topology_m2.ms["master1"].add_s(entry)

tickets/ticket47676_test.py:134:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38caa49b0>
func = <built-in method result4 of LDAP object at 0x7fb38c0eca08>
args = (56, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.OBJECT_CLASS_VIOLATION: {'desc': 'Object class violation', 'info': 'unknown object class "OCticket47676"\n'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: OBJECT_CLASS_VIOLATION
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### ADD ###################### INFO:lib389:Bind as cn=Directory Manager and add the add the entry with specific oc INFO:lib389:Try to add Add cn=test_entry, dc=example,dc=com should be successful ------------------------------ Captured log call -------------------------------
ticket47676_test.py 113 INFO ######################### ADD ###################### ticket47676_test.py 116 INFO Bind as cn=Directory Manager and add the add the entry with specific oc ticket47676_test.py 133 INFO Try to add Add cn=test_entry, dc=example,dc=com should be successful
Failed tickets/ticket47676_test.py::test_ticket47676_reject_action 0.21
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bbf30b8>

def test_ticket47676_reject_action(topology_m2):
topology_m2.ms["master1"].log.info("\n\n######################### REJECT ACTION ######################\n")

topology_m2.ms["master1"].simple_bind_s(DN_DM, PASSWORD)
topology_m2.ms["master2"].simple_bind_s(DN_DM, PASSWORD)

# make master1 to refuse to push the schema if OC_NAME is present in consumer schema
mod = [(ldap.MOD_ADD, 'schemaUpdateObjectclassReject', '%s' % (OC_NAME))] # ACL + REPL
> topology_m2.ms["master1"].modify_s(REPL_SCHEMA_POLICY_SUPPLIER, mod)

tickets/ticket47676_test.py:176:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38caa49b0>
func = <built-in method modify_ext of LDAP object at 0x7fb38c0eca08>
args = ('cn=supplierUpdatePolicy,cn=replSchema,cn=config', [(0, 'schemaUpdateObjectclassReject', 'OCticket47676')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'O')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### REJECT ACTION ###################### ------------------------------ Captured log call -------------------------------
ticket47676_test.py 169 INFO ######################### REJECT ACTION ######################
Failed tickets/ticket47714_test.py::test_ticket47714_run_0 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38bb4d898>

def test_ticket47714_run_0(topology_st):
"""
Check this change has no inpact to the existing functionality.
1. Set account policy config without the new attr alwaysRecordLoginAttr
2. Bind as a test user
3. Bind as the test user again and check the lastLoginTime is updated
4. Waint longer than the accountInactivityLimit time and bind as the test user,
which should fail with CONSTANT_VIOLATION.
"""
_header(topology_st, 'Account Policy - No new attr alwaysRecordLoginAttr in config')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

# Modify Account Policy config entry
topology_st.standalone.modify_s(ACCT_POLICY_CONFIG_DN, [(ldap.MOD_REPLACE, 'alwaysrecordlogin', 'yes'),
(ldap.MOD_REPLACE, 'stateattrname', 'lastLoginTime'),
(ldap.MOD_REPLACE, 'altstateattrname', 'createTimestamp'),
(ldap.MOD_REPLACE, 'specattrname', 'acctPolicySubentry'),
(ldap.MOD_REPLACE, 'limitattrname',
> 'accountInactivityLimit')])

tickets/ticket47714_test.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c1557f0>
func = <built-in method modify_ext of LDAP object at 0x7fb39eec3828>
args = ('cn=config,cn=Account Policy Plugin,cn=plugins,cn=config', [(2, 'alwaysrecordlogin', 'yes'), (2, 'stateattrname', 'la...ateTimestamp'), (2, 'specattrname', 'acctPolicySubentry'), (2, 'limitattrname', 'accountInactivityLimit')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'y')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Account Policy - No new attr alwaysRecordLoginAttr in config INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47714_test.py 37 INFO ############################################### ticket47714_test.py 38 INFO ####### ticket47714_test.py 39 INFO ####### Account Policy - No new attr alwaysRecordLoginAttr in config ticket47714_test.py 40 INFO ####### ticket47714_test.py 41 INFO ###############################################
Failed tickets/ticket47714_test.py::test_ticket47714_run_1 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38bb4d898>

def test_ticket47714_run_1(topology_st):
"""
Verify a new config attr alwaysRecordLoginAttr
1. Set account policy config with the new attr alwaysRecordLoginAttr: lastLoginTime
Note: bogus attr is set to stateattrname.
altstateattrname type value is used for checking whether the account is idle or not.
2. Bind as a test user
3. Bind as the test user again and check the alwaysRecordLoginAttr: lastLoginTime is updated
"""
_header(topology_st, 'Account Policy - With new attr alwaysRecordLoginAttr in config')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(TEST_USER_DN, [(ldap.MOD_DELETE, 'lastLoginTime', None)])

tickets/ticket47714_test.py:161:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:602: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c1557f0>
func = <built-in method result4 of LDAP object at 0x7fb39eec3828>
args = (7, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.NO_SUCH_ATTRIBUTE: {'desc': 'No such attribute'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_ATTRIBUTE
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Account Policy - With new attr alwaysRecordLoginAttr in config INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47714_test.py 37 INFO ############################################### ticket47714_test.py 38 INFO ####### ticket47714_test.py 39 INFO ####### Account Policy - With new attr alwaysRecordLoginAttr in config ticket47714_test.py 40 INFO ####### ticket47714_test.py 41 INFO ###############################################
Failed tickets/ticket47721_test.py::test_ticket47721_init 0.03
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb39ee57a58>

def test_ticket47721_init(topology_m2):
"""
It adds
- Objectclass with MAY 'member'
- an entry ('bind_entry') with which we bind to test the 'SELFDN' operation
It deletes the anonymous aci

"""

# entry used to bind with
topology_m2.ms["master1"].log.info("Add %s" % BIND_DN)
topology_m2.ms["master1"].add_s(Entry((BIND_DN, {
'objectclass': "top person".split(),
'sn': BIND_NAME,
'cn': BIND_NAME,
'userpassword': BIND_PW})))

# enable repl error logging
mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', str(8192))] # REPL logging
> topology_m2.ms["master1"].modify_s(DN_CONFIG, mod)

tickets/ticket47721_test.py:98:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c0c3898>
func = <built-in method modify_ext of LDAP object at 0x7fb39ed2d210>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '8192')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '8')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389:Add cn=bind_entry, dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47721_test.py 89 INFO Add cn=bind_entry, dc=example,dc=com
Failed tickets/ticket47721_test.py::test_ticket47721_0 11.02
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb39ee57a58>

def test_ticket47721_0(topology_m2):
dn = "cn=%s0,%s" % (OTHER_NAME, SUFFIX)
loop = 0
ent = None
while loop <= 10:
try:
ent = topology_m2.ms["master2"].getEntry(dn, ldap.SCOPE_BASE, "(objectclass=*)")
break
except ldap.NO_SUCH_OBJECT:
time.sleep(1)
loop += 1
if ent is None:
> assert False
E assert False

tickets/ticket47721_test.py:122: AssertionError
Failed tickets/ticket47721_test.py::test_ticket47721_1 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb39ee57a58>

def test_ticket47721_1(topology_m2):
log.info('Running test 1...')
# topology_m2.ms["master1"].log.info("Attach debugger\n\n")
# time.sleep(30)

new = _add_custom_at_definition()
topology_m2.ms["master1"].log.info("Add (M2) %s " % new)
> topology_m2.ms["master2"].schema.add_schema('attributetypes', new)

tickets/ticket47721_test.py:132:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb3898dfe80>
func = <built-in method modify_ext of LDAP object at 0x7fb38c9c0198>
args = ('cn=schema', [(0, 'attributetypes', "( ATticket47721-oid NAME 'ATticket47721' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )")], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47721_test:Running test 1... INFO:lib389:Add (M2) ( ATticket47721-oid NAME 'ATticket47721' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) ) ------------------------------ Captured log call -------------------------------
ticket47721_test.py 126 INFO Running test 1... ticket47721_test.py 131 INFO Add (M2) ( ATticket47721-oid NAME 'ATticket47721' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )
Failed tickets/ticket47721_test.py::test_ticket47721_2 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb39ee57a58>

def test_ticket47721_2(topology_m2):
log.info('Running test 2...')

mod = [(ldap.MOD_REPLACE, 'description', 'Hello world 2')]
dn = "cn=%s0,%s" % (OTHER_NAME, SUFFIX)
> topology_m2.ms["master1"].modify_s(dn, mod)

tickets/ticket47721_test.py:173:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c0c3898>
func = <built-in method modify_ext of LDAP object at 0x7fb39ed2d210>
args = ('cn=other_entry0,dc=example,dc=com', [(2, 'description', 'Hello world 2')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'H')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47721_test:Running test 2... ------------------------------ Captured log call -------------------------------
ticket47721_test.py 169 INFO Running test 2...
Failed tickets/ticket47721_test.py::test_ticket47721_3 5.11
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb39ee57a58>

def test_ticket47721_3(topology_m2):
'''
Check that the supplier can update its schema from consumer schema
Update M2 schema, then trigger a replication M1->M2
'''
log.info('Running test 3...')

# stop RA M2->M1, so that M1 can only learn being a supplier
ents = topology_m2.ms["master2"].agreement.list(suffix=SUFFIX)
assert len(ents) == 1
topology_m2.ms["master2"].agreement.pause(ents[0].dn)

new = _add_custom_at_definition('ATtest3')
topology_m2.ms["master1"].log.info("Update schema (M2) %s " % new)
> topology_m2.ms["master2"].schema.add_schema('attributetypes', new)

tickets/ticket47721_test.py:217:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb3898dfe80>
func = <built-in method modify_ext of LDAP object at 0x7fb38c9c0198>
args = ('cn=schema', [(0, 'attributetypes', "( ATtest3-oid NAME 'ATtest3' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )")], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47721_test:Running test 3... INFO:lib389:Pausing replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:lib389:Update schema (M2) ( ATtest3-oid NAME 'ATtest3' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) ) ------------------------------ Captured log call -------------------------------
ticket47721_test.py 208 INFO Running test 3... agreement.py 830 INFO Pausing replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config ticket47721_test.py 216 INFO Update schema (M2) ( ATtest3-oid NAME 'ATtest3' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )
Failed tickets/ticket47721_test.py::test_ticket47721_4 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb39ee57a58>

def test_ticket47721_4(topology_m2):
'''
Here M2->M1 agreement is disabled.
with test_ticket47721_3, M1 schema and M2 should be identical BUT
the nsschemacsn is M2>M1. But as the RA M2->M1 is disabled, M1 keeps its schemacsn.
Update schema on M2 (nsschemaCSN update), update M2. Check they have the same schemacsn
'''
log.info('Running test 4...')

new = _add_custom_at_definition('ATtest4')
topology_m2.ms["master1"].log.info("Update schema (M1) %s " % new)
> topology_m2.ms["master1"].schema.add_schema('attributetypes', new)

tickets/ticket47721_test.py:269:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/schema.py:102: in add_schema
self.conn.modify_s(DN_SCHEMA, [(ldap.MOD_ADD, attr, val)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c0c3898>
func = <built-in method modify_ext of LDAP object at 0x7fb39ed2d210>
args = ('cn=schema', [(0, 'attributetypes', "( ATtest4-oid NAME 'ATtest4' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )")], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47721_test:Running test 4... INFO:lib389:Update schema (M1) ( ATtest4-oid NAME 'ATtest4' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) ) ------------------------------ Captured log call -------------------------------
ticket47721_test.py 265 INFO Running test 4... ticket47721_test.py 268 INFO Update schema (M1) ( ATtest4-oid NAME 'ATtest4' DESC 'test AT ticket 47721' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN ( 'Test 47721' 'user defined' ) )
Failed tickets/ticket47781_test.py::test_ticket47781 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38bb47128>

def test_ticket47781(topology_st):
"""
Testing for a deadlock after doing an online import of an LDIF with
replication data. The replication agreement should be invalid.
"""

log.info('Testing Ticket 47781 - Testing for deadlock after importing LDIF with replication data')

#
# Setup Replication
#
log.info('Setting up replication...')
topology_st.standalone.replica.enableReplication(suffix=DEFAULT_SUFFIX, role=ReplicaRole.MASTER,
> replicaId=REPLICAID_MASTER_1)

tickets/ticket47781_test.py:36:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:560: in enableReplication
self.conn.changelog.create()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c9ee7b8>, name = 'changelog'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'changelog'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47781_test:Testing Ticket 47781 - Testing for deadlock after importing LDIF with replication data INFO:tests.tickets.ticket47781_test:Setting up replication... INFO:lib389:List backend with suffix=dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47781_test.py 29 INFO Testing Ticket 47781 - Testing for deadlock after importing LDIF with replication data ticket47781_test.py 34 INFO Setting up replication... backend.py 71 INFO List backend with suffix=dc=example,dc=com
Failed tickets/ticket47787_test.py::test_ticket47787_init 0.04
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38c854e80>

def test_ticket47787_init(topology_m2):
"""
Creates
- a staging DIT
- a production DIT
- add accounts in staging DIT

"""

topology_m2.ms["master1"].log.info("\n\n######################### INITIALIZATION ######################\n")

# entry used to bind with
topology_m2.ms["master1"].log.info("Add %s" % BIND_DN)
topology_m2.ms["master1"].add_s(Entry((BIND_DN, {
'objectclass': "top person".split(),
'sn': BIND_CN,
'cn': BIND_CN,
'userpassword': BIND_PW})))

# DIT for staging
topology_m2.ms["master1"].log.info("Add %s" % STAGING_DN)
topology_m2.ms["master1"].add_s(Entry((STAGING_DN, {
'objectclass': "top organizationalRole".split(),
'cn': STAGING_CN,
'description': "staging DIT"})))

# DIT for production
topology_m2.ms["master1"].log.info("Add %s" % PRODUCTION_DN)
topology_m2.ms["master1"].add_s(Entry((PRODUCTION_DN, {
'objectclass': "top organizationalRole".split(),
'cn': PRODUCTION_CN,
'description': "production DIT"})))

# enable replication error logging
mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '8192')]
> topology_m2.ms["master1"].modify_s(DN_CONFIG, mod)

tickets/ticket47787_test.py:316:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39f15b0f0>
func = <built-in method modify_ext of LDAP object at 0x7fb38c0ec6c0>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '8192')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '8')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### INITIALIZATION ###################### INFO:lib389:Add cn=bind_entry,dc=example,dc=com INFO:lib389:Add cn=staged user,dc=example,dc=com INFO:lib389:Add cn=accounts,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47787_test.py 290 INFO ######################### INITIALIZATION ###################### ticket47787_test.py 293 INFO Add cn=bind_entry,dc=example,dc=com ticket47787_test.py 301 INFO Add cn=staged user,dc=example,dc=com ticket47787_test.py 308 INFO Add cn=accounts,dc=example,dc=com
Failed tickets/ticket47787_test.py::test_ticket47787_2 11.23
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38c854e80>

def test_ticket47787_2(topology_m2):
'''
Disable replication so that updates are not replicated
Delete an entry on M1. Modrdn it on M2 (chg rdn + delold=0 + same superior).
update a test entry on M2
Reenable the RA.
checks that entry was deleted on M2 (with the modified RDN)
checks that test entry was replicated on M1 (replication M2->M1 not broken by modrdn)
'''

_header(topology_m2, "test_ticket47787_2")
_bind_manager(topology_m2.ms["master1"])
_bind_manager(topology_m2.ms["master2"])

# entry to test the replication is still working
name = "%s%d" % (NEW_ACCOUNT, MAX_ACCOUNTS - 1)
test_rdn = "cn=%s" % (name)
testentry_dn = "%s,%s" % (test_rdn, STAGING_DN)

name = "%s%d" % (NEW_ACCOUNT, MAX_ACCOUNTS - 2)
test2_rdn = "cn=%s" % (name)
testentry2_dn = "%s,%s" % (test2_rdn, STAGING_DN)

# value of updates to test the replication both ways
attr = 'description'
value = 'test_ticket47787_2'

# entry for the modrdn
name = "%s%d" % (NEW_ACCOUNT, 1)
rdn = "cn=%s" % (name)
entry_dn = "%s,%s" % (rdn, STAGING_DN)

# created on M1, wait the entry exists on M2
> _check_entry_exists(topology_m2.ms["master2"], entry_dn)

tickets/ticket47787_test.py:361:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

instance = <lib389.DirSrv object at 0x7fb38be4d160>
entry_dn = 'cn=new_account1,cn=staged user,dc=example,dc=com'

def _check_entry_exists(instance, entry_dn):
loop = 0
ent = None
while loop <= 10:
try:
ent = instance.getEntry(entry_dn, ldap.SCOPE_BASE, "(objectclass=*)")
break
except ldap.NO_SUCH_OBJECT:
time.sleep(1)
loop += 1
if ent is None:
> assert False
E assert False

tickets/ticket47787_test.py:240: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47787_2 INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Bind as cn=Directory Manager INFO:lib389:Bind as cn=Directory Manager ------------------------------ Captured log call -------------------------------
ticket47787_test.py 66 INFO ############################################### ticket47787_test.py 67 INFO ####### ticket47787_test.py 68 INFO ####### test_ticket47787_2 ticket47787_test.py 69 INFO ####### ticket47787_test.py 70 INFO ############################################### ticket47787_test.py 56 INFO Bind as cn=Directory Manager ticket47787_test.py 56 INFO Bind as cn=Directory Manager
Failed tickets/ticket47808_test.py::test_ticket47808_run 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ed47668>

def test_ticket47808_run(topology_st):
"""
It enables attribute uniqueness plugin with sn as a unique attribute
Add an entry 1 with sn = ENTRY_NAME
Add an entry 2 with sn = ENTRY_NAME
If the second add does not crash the server and the following search found none,
the bug is fixed.
"""

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

topology_st.standalone.log.info("\n\n######################### SETUP ATTR UNIQ PLUGIN ######################\n")

# enable attribute uniqueness plugin
mod = [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on'), (ldap.MOD_REPLACE, 'nsslapd-pluginarg0', 'sn'),
(ldap.MOD_REPLACE, 'nsslapd-pluginarg1', SUFFIX)]
> topology_st.standalone.modify_s(ATTRIBUTE_UNIQUENESS_PLUGIN, mod)

tickets/ticket47808_test.py:41:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb3898ef208>
func = <built-in method modify_ext of LDAP object at 0x7fb38bb455a8>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', [(2, 'nsslapd-pluginEnabled', 'on'), (2, 'nsslapd-pluginarg0', 'sn'), (2, 'nsslapd-pluginarg1', 'dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'o')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######################### SETUP ATTR UNIQ PLUGIN ###################### ------------------------------ Captured log call -------------------------------
ticket47808_test.py 33 INFO Bind as cn=Directory Manager ticket47808_test.py 36 INFO ######################### SETUP ATTR UNIQ PLUGIN ######################
Failed tickets/ticket47819_test.py::test_ticket47819 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb3898e3160>

def test_ticket47819(topology_st):
"""
from lib389.utils import *

# Skip on older versions
pytestmark = pytest.mark.skipif(ds_is_older('1.3.4'), reason="Not implemented")
Testing precise tombstone purging:
[1] Make sure "nsTombstoneCSN" is added to new tombstones
[2] Make sure an import of a replication ldif adds "nsTombstoneCSN"
to old tombstones
[4] Test fixup task
[3] Make sure tombstone purging works
"""

log.info('Testing Ticket 47819 - Test precise tombstone purging')

#
# Setup Replication
#
log.info('Setting up replication...')
topology_st.standalone.replica.enableReplication(suffix=DEFAULT_SUFFIX, role=ReplicaRole.MASTER,
> replicaId=REPLICAID_MASTER_1)

tickets/ticket47819_test.py:43:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:560: in enableReplication
self.conn.changelog.create()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c0e42e8>, name = 'changelog'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'changelog'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47819_test:Testing Ticket 47819 - Test precise tombstone purging INFO:tests.tickets.ticket47819_test:Setting up replication... INFO:lib389:List backend with suffix=dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47819_test.py 36 INFO Testing Ticket 47819 - Test precise tombstone purging ticket47819_test.py 41 INFO Setting up replication... backend.py 71 INFO List backend with suffix=dc=example,dc=com
Failed tickets/ticket47823_test.py::test_ticket47823_one_container_mod 4.47
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_one_container_mod(topology_st):
'''
Check uniqueness in a single container
Add and entry with a given 'cn', then check we can not modify an entry with the same 'cn' value

'''
_header(topology_st, "With former config (args), check attribute uniqueness with 'cn' (MOD)")

> _active_container_mod(topology_st, type_config='old')

tickets/ticket47823_test.py:479:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:204: in _active_container_mod
topology_st.standalone.modify_s(ACTIVE_USER_2_DN, [(ldap.MOD_ADD, 'cn', ACTIVE_USER_1_CN)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method modify_ext of LDAP object at 0x7fb38bb50be8>
args = ('cn=test_2,cn=accounts,dc=example,dc=com', [(0, 'cn', 'test_1')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 't')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MOD) INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness enforced: checks MOD ADD entry is rejected ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (MOD) ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ############################################### ticket47823_test.py 192 INFO Uniqueness enforced: checks MOD ADD entry is rejected
Failed tickets/ticket47823_test.py::test_ticket47823_one_container_modrdn 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_one_container_modrdn(topology_st):
'''
Check uniqueness in a single container
Add and entry with a given 'cn', then check we can not modrdn an entry with the same 'cn' value

'''
_header(topology_st, "With former config (args), check attribute uniqueness with 'cn' (MODRDN)")

> _active_container_modrdn(topology_st, type_config='old')

tickets/ticket47823_test.py:494:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:233: in _active_container_modrdn
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method result4 of LDAP object at 0x7fb38bb50be8>
args = (5, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MODRDN) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (MODRDN) ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_multi_containers_add 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_multi_containers_add(topology_st):
'''
Check uniqueness in a several containers
Add and entry with a given 'cn', then check we can not add an entry with the same 'cn' value

'''
_header(topology_st, "With former config (args), check attribute uniqueness with 'cn' (ADD) ")

> _active_stage_containers_add(topology_st, type_config='old', across_subtrees=False)

tickets/ticket47823_test.py:509:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:271: in _active_stage_containers_add
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method result4 of LDAP object at 0x7fb38bb50be8>
args = (7, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (ADD) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (ADD) ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_multi_containers_mod 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_multi_containers_mod(topology_st):
'''
Check uniqueness in a several containers
Add an entry on a container with a given 'cn', then check we CAN mod an entry with the same 'cn' value on the other container

'''
_header(topology_st, "With former config (args), check attribute uniqueness with 'cn' (MOD) on separated container")

topology_st.standalone.log.info(
'Uniqueness not enforced: if same \'cn\' modified (add/replace) on separated containers')
> _active_stage_containers_mod(topology_st, type_config='old', across_subtrees=False)

tickets/ticket47823_test.py:526:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:302: in _active_stage_containers_mod
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method result4 of LDAP object at 0x7fb38bb50be8>
args = (9, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MOD) on separated container INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: if same 'cn' modified (add/replace) on separated containers ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (MOD) on separated container ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ############################################### ticket47823_test.py 525 INFO Uniqueness not enforced: if same 'cn' modified (add/replace) on separated containers
Failed tickets/ticket47823_test.py::test_ticket47823_multi_containers_modrdn 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_multi_containers_modrdn(topology_st):
'''
Check uniqueness in a several containers
Add and entry with a given 'cn', then check we CAN modrdn an entry with the same 'cn' value on the other container

'''
_header(topology_st,
"With former config (args), check attribute uniqueness with 'cn' (MODRDN) on separated containers")

topology_st.standalone.log.info('Uniqueness not enforced: checks MODRDN entry is accepted on separated containers')
> _active_stage_containers_modrdn(topology_st, type_config='old', across_subtrees=False)

tickets/ticket47823_test.py:545:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:352: in _active_stage_containers_modrdn
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method result4 of LDAP object at 0x7fb38bb50be8>
args = (11, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MODRDN) on separated containers INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: checks MODRDN entry is accepted on separated containers ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With former config (args), check attribute uniqueness with 'cn' (MODRDN) on separated containers ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ############################################### ticket47823_test.py 544 INFO Uniqueness not enforced: checks MODRDN entry is accepted on separated containers
Failed tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_add 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_across_multi_containers_add(topology_st):
'''
Check uniqueness across several containers, uniquely with the new configuration
Add and entry with a given 'cn', then check we can not add an entry with the same 'cn' value

'''
_header(topology_st, "With new config (args), check attribute uniqueness with 'cn' (ADD) across several containers")

> _active_stage_containers_add(topology_st, type_config='old', across_subtrees=True)

tickets/ticket47823_test.py:559:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:271: in _active_stage_containers_add
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method result4 of LDAP object at 0x7fb38bb50be8>
args = (13, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (ADD) across several containers INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With new config (args), check attribute uniqueness with 'cn' (ADD) across several containers ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_mod 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_across_multi_containers_mod(topology_st):
'''
Check uniqueness across several containers, uniquely with the new configuration
Add and entry with a given 'cn', then check we can not modifiy an entry with the same 'cn' value

'''
_header(topology_st, "With new config (args), check attribute uniqueness with 'cn' (MOD) across several containers")

> _active_stage_containers_mod(topology_st, type_config='old', across_subtrees=True)

tickets/ticket47823_test.py:570:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:302: in _active_stage_containers_mod
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method result4 of LDAP object at 0x7fb38bb50be8>
args = (15, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (MOD) across several containers INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With new config (args), check attribute uniqueness with 'cn' (MOD) across several containers ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_modrdn 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_across_multi_containers_modrdn(topology_st):
'''
Check uniqueness across several containers, uniquely with the new configuration
Add and entry with a given 'cn', then check we can not modrdn an entry with the same 'cn' value

'''
_header(topology_st,
"With new config (args), check attribute uniqueness with 'cn' (MODRDN) across several containers")

> _active_stage_containers_modrdn(topology_st, type_config='old', across_subtrees=True)

tickets/ticket47823_test.py:582:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:352: in _active_stage_containers_modrdn
topology_st.standalone.add_s(config)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method result4 of LDAP object at 0x7fb38bb50be8>
args = (17, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (MODRDN) across several containers INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### With new config (args), check attribute uniqueness with 'cn' (MODRDN) across several containers ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_1 1.01
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_invalid_config_1(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using old config: arg0 is missing
'''
_header(topology_st, "Invalid config (old): arg0 is missing")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old',
across_subtrees=False)

del config.data['nsslapd-pluginarg0']
# replace 'cn' uniqueness entry
try:
topology_st.standalone.delete_s(config.dn)

except ldap.NO_SUCH_OBJECT:
pass
topology_st.standalone.add_s(config)

topology_st.standalone.getEntry(config.dn, ldap.SCOPE_BASE, "(objectclass=nsSlapdPlugin)", ALL_CONFIG_ATTRS)

# Check the server did not restart
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '65536')])

tickets/ticket47823_test.py:610:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method modify_ext of LDAP object at 0x7fb38bb50be8>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '65536')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '6')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg0 is missing INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (old): arg0 is missing ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_2 7.38
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_invalid_config_2(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using old config: arg1 is missing
'''
_header(topology_st, "Invalid config (old): arg1 is missing")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old',
across_subtrees=False)

del config.data['nsslapd-pluginarg1']
# replace 'cn' uniqueness entry
try:
topology_st.standalone.delete_s(config.dn)

except ldap.NO_SUCH_OBJECT:
pass
topology_st.standalone.add_s(config)

topology_st.standalone.getEntry(config.dn, ldap.SCOPE_BASE, "(objectclass=nsSlapdPlugin)", ALL_CONFIG_ATTRS)

# Check the server did not restart
try:
topology_st.standalone.restart()
ent = topology_st.standalone.getEntry(config.dn, ldap.SCOPE_BASE, "(objectclass=nsSlapdPlugin)",
ALL_CONFIG_ATTRS)
if ent:
# be sure to restore a valid config before assert
_config_file(topology_st, action='restore')
assert not ent
except:
pass

# Check the expected error message
regex = re.compile("No valid subtree is defined")
res = _pattern_errorlog(topology_st.standalone.errorlog_file, regex)
if not res:
# be sure to restore a valid config before assert
_config_file(topology_st, action='restore')
assert res

# Check we can restart the server
_config_file(topology_st, action='restore')
> topology_st.standalone.start()

tickets/ticket47823_test.py:685:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1197: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@standalone1'],)
kwargs = {}, retcode = 1
cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@standalone1']

def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.

The arguments are the same as for the call function. Example:

check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@standalone1']' returned non-zero exit status 1.

/usr/lib64/python3.6/subprocess.py:291: CalledProcessError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg1 is missing INFO:lib389:####### INFO:lib389:############################################### Job for dirsrv@standalone1.service failed because the control process exited with error code. See "systemctl status dirsrv@standalone1.service" and "journalctl -xe" for details. Job for dirsrv@standalone1.service failed because the control process exited with error code. See "systemctl status dirsrv@standalone1.service" and "journalctl -xe" for details. ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (old): arg1 is missing ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_3 1.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_invalid_config_3(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using old config: arg0 is missing
'''
_header(topology_st, "Invalid config (old): arg0 is missing but new config attrname exists")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old',
> across_subtrees=False)

tickets/ticket47823_test.py:703:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:87: in _build_config
config = _uniqueness_config_entry(topology_st, attr_name)
tickets/ticket47823_test.py:74: in _uniqueness_config_entry
'nsslapd-pluginDescription'])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1803: in getEntry
restype, obj = self.result(res)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:135: in inner
objtype, data = f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:738: in result
resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:742: in result2
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method result4 of LDAP object at 0x7fb38bb50be8>
args = (26, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: SERVER_DOWN
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg0 is missing but new config attrname exists INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (old): arg0 is missing but new config attrname exists ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_4 1.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_invalid_config_4(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using old config: arg1 is missing
'''
_header(topology_st, "Invalid config (old): arg1 is missing but new config exist")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old',
> across_subtrees=False)

tickets/ticket47823_test.py:758:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:87: in _build_config
config = _uniqueness_config_entry(topology_st, attr_name)
tickets/ticket47823_test.py:74: in _uniqueness_config_entry
'nsslapd-pluginDescription'])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1802: in getEntry
res = self.search(*args, **kwargs)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:849: in search
return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:841: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method search_ext of LDAP object at 0x7fb38bb50be8>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...)
kwargs = {}, diagnostic_message_success = None, exc_type = None
exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: SERVER_DOWN
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg1 is missing but new config exist INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (old): arg1 is missing but new config exist ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_5 1.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_invalid_config_5(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using new config: uniqueness-attribute-name is missing
'''
_header(topology_st, "Invalid config (new): uniqueness-attribute-name is missing")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='new',
> across_subtrees=False)

tickets/ticket47823_test.py:812:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:94: in _build_config
config = _uniqueness_config_entry(topology_st, attr_name)
tickets/ticket47823_test.py:74: in _uniqueness_config_entry
'nsslapd-pluginDescription'])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1802: in getEntry
res = self.search(*args, **kwargs)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:849: in search
return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:841: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method search_ext of LDAP object at 0x7fb38bb50be8>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...)
kwargs = {}, diagnostic_message_success = None, exc_type = None
exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: SERVER_DOWN
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (new): uniqueness-attribute-name is missing INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (new): uniqueness-attribute-name is missing ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_6 1.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_invalid_config_6(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using new config: uniqueness-subtrees is missing
'''
_header(topology_st, "Invalid config (new): uniqueness-subtrees is missing")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='new',
> across_subtrees=False)

tickets/ticket47823_test.py:865:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:94: in _build_config
config = _uniqueness_config_entry(topology_st, attr_name)
tickets/ticket47823_test.py:74: in _uniqueness_config_entry
'nsslapd-pluginDescription'])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1802: in getEntry
res = self.search(*args, **kwargs)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:849: in search
return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:841: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method search_ext of LDAP object at 0x7fb38bb50be8>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...)
kwargs = {}, diagnostic_message_success = None, exc_type = None
exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: SERVER_DOWN
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (new): uniqueness-subtrees is missing INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (new): uniqueness-subtrees is missing ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47823_test.py::test_ticket47823_invalid_config_7 1.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecde6a0>

def test_ticket47823_invalid_config_7(topology_st):
'''
Check that an invalid config is detected. No uniqueness enforced
Using new config: uniqueness-subtrees is missing
'''
_header(topology_st, "Invalid config (new): uniqueness-subtrees are invalid")

_config_file(topology_st, action='save')

# create an invalid config without arg0
config = _build_config(topology_st, attr_name='cn', subtree_1="this_is dummy DN", subtree_2="an other=dummy DN",
> type_config='new', across_subtrees=False)

tickets/ticket47823_test.py:918:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47823_test.py:94: in _build_config
config = _uniqueness_config_entry(topology_st, attr_name)
tickets/ticket47823_test.py:74: in _uniqueness_config_entry
'nsslapd-pluginDescription'])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:1802: in getEntry
res = self.search(*args, **kwargs)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:849: in search
return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:841: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed470b8>
func = <built-in method search_ext of LDAP object at 0x7fb38bb50be8>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...)
kwargs = {}, diagnostic_message_success = None, exc_type = None
exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: SERVER_DOWN
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (new): uniqueness-subtrees are invalid INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47823_test.py 57 INFO ############################################### ticket47823_test.py 58 INFO ####### ticket47823_test.py 59 INFO ####### Invalid config (new): uniqueness-subtrees are invalid ticket47823_test.py 60 INFO ####### ticket47823_test.py 61 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_1(topology_st):
"""
NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st, 'NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': ACTIVE_USER1_CN,
'sn': ACTIVE_USER1_CN,
ALLOCATED_ATTR: str(20)})))
ent = topology_st.standalone.getEntry(ACTIVE_USER1_DN, ldap.SCOPE_BASE, "(objectclass=*)")
assert ent.hasAttr(ALLOCATED_ATTR)
> assert ent.getValue(ALLOCATED_ATTR) == str(20)
E AssertionError: assert b'20' == '20'
E + where b'20' = <bound method Entry.getValue of dn: cn=active user1,dc=example,dc=com\ncn: active user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: active user1\n\n>('employeeNumber')
E + where <bound method Entry.getValue of dn: cn=active user1,dc=example,dc=com\ncn: active user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: active user1\n\n> = dn: cn=active user1,dc=example,dc=com\ncn: active user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: active user1\n\n.getValue
E + and '20' = str(20)

tickets/ticket47828_test.py:102: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_3(topology_st):
"""
NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st, 'NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': STAGED_USER1_CN,
'sn': STAGED_USER1_CN,
ALLOCATED_ATTR: str(20)})))
ent = topology_st.standalone.getEntry(STAGED_USER1_DN, ldap.SCOPE_BASE, "(objectclass=*)")
assert ent.hasAttr(ALLOCATED_ATTR)
> assert ent.getValue(ALLOCATED_ATTR) == str(20)
E AssertionError: assert b'20' == '20'
E + where b'20' = <bound method Entry.getValue of dn: cn=staged user1,cn=provisioning,dc=example,dc=com\ncn: staged user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: staged user1\n\n>('employeeNumber')
E + where <bound method Entry.getValue of dn: cn=staged user1,cn=provisioning,dc=example,dc=com\ncn: staged user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: staged user1\n\n> = dn: cn=staged user1,cn=provisioning,dc=example,dc=com\ncn: staged user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: staged user1\n\n.getValue
E + and '20' = str(20)

tickets/ticket47828_test.py:138: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_4 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_4(topology_st):
'''
Exclude the provisioning container
'''
_header(topology_st, 'Exclude the provisioning container')

dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', PROVISIONING)]
> topology_st.standalone.modify_s(dn_config, mod)

tickets/ticket47828_test.py:151:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method modify_ext of LDAP object at 0x7fb38c132df0>
args = ('cn=excluded scope, cn=Distributed Numeric Assignment Plugin, cn=plugins,cn=config', [(2, 'dnaExcludeScope', 'cn=provisioning,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Exclude the provisioning container INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Exclude the provisioning container ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_5 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_5(topology_st):
"""
Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is set
"""
_header(topology_st, 'Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is set')

topology_st.standalone.add_s(
Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': ACTIVE_USER1_CN,
'sn': ACTIVE_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:164:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (12, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_6 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_6(topology_st):
"""
Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': ACTIVE_USER1_CN,
'sn': ACTIVE_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:183:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (13, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_7 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_7(topology_st):
"""
Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set
"""
_header(topology_st, 'Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set')

topology_st.standalone.add_s(
Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': STAGED_USER1_CN,
'sn': STAGED_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (14, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_8 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_8(topology_st):
"""
Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': STAGED_USER1_CN,
'sn': STAGED_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:220:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (15, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_10 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_10(topology_st):
"""
Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': DUMMY_USER1_CN,
'sn': DUMMY_USER1_CN,
ALLOCATED_ATTR: str(20)})))
ent = topology_st.standalone.getEntry(DUMMY_USER1_DN, ldap.SCOPE_BASE, "(objectclass=*)")
assert ent.hasAttr(ALLOCATED_ATTR)
> assert ent.getValue(ALLOCATED_ATTR) == str(20)
E AssertionError: assert b'20' == '20'
E + where b'20' = <bound method Entry.getValue of dn: cn=dummy user1,cn=dummy container,dc=example,dc=com\ncn: dummy user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: dummy user1\n\n>('employeeNumber')
E + where <bound method Entry.getValue of dn: cn=dummy user1,cn=dummy container,dc=example,dc=com\ncn: dummy user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: dummy user1\n\n> = dn: cn=dummy user1,cn=dummy container,dc=example,dc=com\ncn: dummy user1\nemployeeNumber: 20\nobjectClass: top\nobjectClass: person\nobjectClass: organizationalPerson\nobjectClass: inetOrgPerson\nsn: dummy user1\n\n.getValue
E + and '20' = str(20)

tickets/ticket47828_test.py:260: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_11 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_11(topology_st):
'''
Exclude (in addition) the dummy container
'''
_header(topology_st, 'Exclude (in addition) the dummy container')

dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
mod = [(ldap.MOD_ADD, 'dnaExcludeScope', DUMMY_CONTAINER)]
> topology_st.standalone.modify_s(dn_config, mod)

tickets/ticket47828_test.py:273:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method modify_ext of LDAP object at 0x7fb38c132df0>
args = ('cn=excluded scope, cn=Distributed Numeric Assignment Plugin, cn=plugins,cn=config', [(0, 'dnaExcludeScope', 'cn=dummy container,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Exclude (in addition) the dummy container INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Exclude (in addition) the dummy container ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_12 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_12(topology_st):
"""
Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is set
"""
_header(topology_st, 'Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is set')

topology_st.standalone.add_s(
Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': ACTIVE_USER1_CN,
'sn': ACTIVE_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:286:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (21, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_13 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_13(topology_st):
"""
Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': ACTIVE_USER1_CN,
'sn': ACTIVE_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:305:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (22, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_14 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_14(topology_st):
"""
Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set
"""
_header(topology_st,
'Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set')

topology_st.standalone.add_s(
Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': STAGED_USER1_CN,
'sn': STAGED_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:324:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (23, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_15 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_15(topology_st):
"""
Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': STAGED_USER1_CN,
'sn': STAGED_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:343:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (24, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_16 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_16(topology_st):
"""
Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is not set
"""
_header(topology_st,
'Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR not is set')

topology_st.standalone.add_s(
Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': DUMMY_USER1_CN,
'sn': DUMMY_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:362:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (25, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR not is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR not is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_17 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_17(topology_st):
"""
Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': DUMMY_USER1_CN,
'sn': DUMMY_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:381:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (26, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_18 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_18(topology_st):
'''
Exclude PROVISIONING and a wrong container
'''
_header(topology_st, 'Exclude PROVISIONING and a wrong container')

dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', PROVISIONING)]
> topology_st.standalone.modify_s(dn_config, mod)

tickets/ticket47828_test.py:397:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method modify_ext of LDAP object at 0x7fb38c132df0>
args = ('cn=excluded scope, cn=Distributed Numeric Assignment Plugin, cn=plugins,cn=config', [(2, 'dnaExcludeScope', 'cn=provisioning,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Exclude PROVISIONING and a wrong container INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Exclude PROVISIONING and a wrong container ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_19 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_19(topology_st):
"""
Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set
"""
_header(topology_st,
'Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set')

topology_st.standalone.add_s(
Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': ACTIVE_USER1_CN,
'sn': ACTIVE_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:417:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (27, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_20 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_20(topology_st):
"""
Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': ACTIVE_USER1_CN,
'sn': ACTIVE_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:436:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (28, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_21 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_21(topology_st):
"""
Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set
"""
_header(topology_st,
'Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set')

topology_st.standalone.add_s(
Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': STAGED_USER1_CN,
'sn': STAGED_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:455:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (29, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_22 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_22(topology_st):
"""
Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': STAGED_USER1_CN,
'sn': STAGED_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:474:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (30, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_23 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_23(topology_st):
"""
Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set
"""
_header(topology_st,
'Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set')

topology_st.standalone.add_s(
Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': DUMMY_USER1_CN,
'sn': DUMMY_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:493:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (31, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_24 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_24(topology_st):
"""
Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': DUMMY_USER1_CN,
'sn': DUMMY_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:512:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (32, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_25 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_25(topology_st):
'''
Exclude a wrong container
'''
_header(topology_st, 'Exclude a wrong container')

dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)

try:
mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', "invalidDN,%s" % SUFFIX)]
> topology_st.standalone.modify_s(dn_config, mod)

tickets/ticket47828_test.py:530:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method modify_ext of LDAP object at 0x7fb38c132df0>
args = ('cn=excluded scope, cn=Distributed Numeric Assignment Plugin, cn=plugins,cn=config', [(2, 'dnaExcludeScope', 'invalidDN,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'i')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Exclude a wrong container INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Exclude a wrong container ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_26 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_26(topology_st):
"""
Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set
"""
_header(topology_st, 'Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set')

topology_st.standalone.add_s(
Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': ACTIVE_USER1_CN,
'sn': ACTIVE_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:546:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (33, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_27 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_27(topology_st):
"""
Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((ACTIVE_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': ACTIVE_USER1_CN,
'sn': ACTIVE_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:565:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (34, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_28 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_28(topology_st):
"""
Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set
"""
_header(topology_st, 'Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set')

topology_st.standalone.add_s(
Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': STAGED_USER1_CN,
'sn': STAGED_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:583:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (35, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_29 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_29(topology_st):
"""
Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((STAGED_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': STAGED_USER1_CN,
'sn': STAGED_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:602:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (36, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_30 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_30(topology_st):
"""
Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set
"""
_header(topology_st, 'Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set')

topology_st.standalone.add_s(
Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': DUMMY_USER1_CN,
'sn': DUMMY_USER1_CN,
> ALLOCATED_ATTR: str(-1)})))

tickets/ticket47828_test.py:620:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (37, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47828_test.py::test_ticket47828_run_31 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d26bd30>

def test_ticket47828_run_31(topology_st):
"""
Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)
"""
_header(topology_st,
'Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)')

topology_st.standalone.add_s(
Entry((DUMMY_USER1_DN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(),
'cn': DUMMY_USER1_CN,
'sn': DUMMY_USER1_CN,
> ALLOCATED_ATTR: str(20)})))

tickets/ticket47828_test.py:639:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ecde9e8>
func = <built-in method result4 of LDAP object at 0x7fb38c132df0>
args = (38, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.ALREADY_EXISTS: {'desc': 'Already exists'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: ALREADY_EXISTS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47828_test.py 41 INFO ############################################### ticket47828_test.py 42 INFO ####### ticket47828_test.py 43 INFO ####### Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic) ticket47828_test.py 44 INFO ####### ticket47828_test.py 45 INFO ###############################################
Failed tickets/ticket47829_test.py::test_ticket47829_init 0.03
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_init(topology_st):
topology_st.standalone.add_s(Entry((SCOPE_IN_DN, {
'objectclass': "top nscontainer".split(),
'cn': SCOPE_IN_DN})))
topology_st.standalone.add_s(Entry((SCOPE_OUT_DN, {
'objectclass': "top nscontainer".split(),
'cn': SCOPE_OUT_DN})))
topology_st.standalone.add_s(Entry((PROVISIONING_DN, {
'objectclass': "top nscontainer".split(),
'cn': PROVISIONING_CN})))
topology_st.standalone.add_s(Entry((ACTIVE_DN, {
'objectclass': "top nscontainer".split(),
'cn': ACTIVE_CN})))
topology_st.standalone.add_s(Entry((STAGE_DN, {
'objectclass': "top nscontainer".split(),
'cn': STAGE_DN})))
topology_st.standalone.add_s(Entry((DELETE_DN, {
'objectclass': "top nscontainer".split(),
'cn': DELETE_CN})))

# add groups
topology_st.standalone.add_s(Entry((ACTIVE_GROUP_DN, {
'objectclass': "top groupOfNames inetuser".split(),
'cn': ACTIVE_GROUP_CN})))
topology_st.standalone.add_s(Entry((STAGE_GROUP_DN, {
'objectclass': "top groupOfNames inetuser".split(),
'cn': STAGE_GROUP_CN})))
topology_st.standalone.add_s(Entry((OUT_GROUP_DN, {
'objectclass': "top groupOfNames inetuser".split(),
'cn': OUT_GROUP_CN})))
topology_st.standalone.add_s(Entry((INDIRECT_ACTIVE_GROUP_DN, {
'objectclass': "top groupOfNames".split(),
'cn': INDIRECT_ACTIVE_GROUP_CN})))

# add users
_add_user(topology_st, 'active')
_add_user(topology_st, 'stage')
_add_user(topology_st, 'out')

# enable memberof of with scope IN except provisioning
topology_st.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
dn = "cn=%s,%s" % (PLUGIN_MEMBER_OF, DN_PLUGIN)
> topology_st.standalone.modify_s(dn, [(ldap.MOD_REPLACE, 'memberOfEntryScope', SCOPE_IN_DN)])

tickets/ticket47829_test.py:221:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=MemberOf Plugin,cn=plugins,cn=config', [(2, 'memberOfEntryScope', 'cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_active_user_1(topology_st):
_header(topology_st, 'MOD: add an active user to an active group')

# add active user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=True)

tickets/ticket47829_test.py:239:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an active user to an active group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an active user to an active group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_active_user_2(topology_st):
_header(topology_st, 'MOD: add an Active user to a Stage group')

# add active user to stage group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=STAGE_GROUP_DN,
> find_result=False)

tickets/ticket47829_test.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an Active user to a Stage group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an Active user to a Stage group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_active_user_3(topology_st):
_header(topology_st, 'MOD: add an Active user to a out of scope group')

# add active user to out of scope group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=OUT_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:264:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=out group,cn=out,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an Active user to a out of scope group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=out group,cn=out,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an Active user to a out of scope group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=out group,cn=out,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_stage_user_1(topology_st):
_header(topology_st, 'MOD: add an Stage user to a Active group')

# add stage user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=STAGE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=False)

tickets/ticket47829_test.py:277:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an Stage user to a Active group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an Stage user to a Active group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_stage_user_2(topology_st):
_header(topology_st, 'MOD: add an Stage user to a Stage group')

# add stage user to stage group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=STAGE_USER_DN, group_dn=STAGE_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:289:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an Stage user to a Stage group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an Stage user to a Stage group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_stage_user_3(topology_st):
_header(topology_st, 'MOD: add an Stage user to a out of scope group')

# add stage user to an out of scope group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=STAGE_USER_DN, group_dn=OUT_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:301:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=out group,cn=out,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an Stage user to a out of scope group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=out group,cn=out,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an Stage user to a out of scope group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=out group,cn=out,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_out_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_out_user_1(topology_st):
_header(topology_st, 'MOD: add an out of scope user to an active group')

# add out of scope user to active group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=OUT_USER_DN, group_dn=ACTIVE_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:313:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=out guy,cn=out,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an out of scope user to an active group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=out guy,cn=out,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an out of scope user to an active group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=out guy,cn=out,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_out_user_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_out_user_2(topology_st):
_header(topology_st, 'MOD: add an out of scope user to a Stage group')

# add out of scope user to stage group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=OUT_USER_DN, group_dn=STAGE_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:325:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com', [(0, 'member', 'cn=out guy,cn=out,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an out of scope user to a Stage group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=out guy,cn=out,dc=example,dc=com INFO:lib389:to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an out of scope user to a Stage group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=out guy,cn=out,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=stage group,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_out_user_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_out_user_3(topology_st):
_header(topology_st, 'MOD: add an out of scope user to an out of scope group')

# add out of scope user to stage group
> _check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=OUT_USER_DN, group_dn=OUT_GROUP_DN, find_result=False)

tickets/ticket47829_test.py:337:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=out group,cn=out,dc=example,dc=com', [(0, 'member', 'cn=out guy,cn=out,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: add an out of scope user to an out of scope group INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=out guy,cn=out,dc=example,dc=com INFO:lib389:to group cn=out group,cn=out,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### MOD: add an out of scope user to an out of scope group ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=out guy,cn=out,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=out group,cn=out,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_active_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_active_user_modrdn_active_user_1(topology_st):
_header(topology_st, 'add an Active user to a Active group. Then move Active user to Active')

# add Active user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=True)

tickets/ticket47829_test.py:349:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active user to a Active group. Then move Active user to Active INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active user to a Active group. Then move Active user to Active ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_stage_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_active_user_modrdn_stage_user_1(topology_st):
_header(topology_st, 'add an Active user to a Active group. Then move Active user to Stage')

# add Active user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=True)

tickets/ticket47829_test.py:377:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active user to a Active group. Then move Active user to Stage INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active user to a Active group. Then move Active user to Stage ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_out_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_active_user_modrdn_out_user_1(topology_st):
_header(topology_st, 'add an Active user to a Active group. Then move Active user to out of scope')

# add Active user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=ACTIVE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=True)

tickets/ticket47829_test.py:401:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active guy,cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active user to a Active group. Then move Active user to out of scope INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active user to a Active group. Then move Active user to out of scope ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=active guy,cn=accounts,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_modrdn_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_modrdn_1(topology_st):
_header(topology_st, 'add an Stage user to a Active group. Then move Stage user to Active')

# add Stage user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=STAGE_USER_DN, group_dn=ACTIVE_GROUP_DN,
> find_result=False)

tickets/ticket47829_test.py:425:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Stage user to a Active group. Then move Stage user to Active INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Stage user to a Active group. Then move Stage user to Active ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_modrdn_active_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_mod_stage_user_modrdn_active_user_1(topology_st):
_header(topology_st, 'add an Stage user to a Active group. Then move Stage user to Active')

stage_user_dn = STAGE_USER_DN
stage_user_rdn = "cn=%s" % STAGE_USER_CN
active_user_dn = "cn=%s,%s" % (STAGE_USER_CN, ACTIVE_DN)

# add Stage user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=stage_user_dn, group_dn=ACTIVE_GROUP_DN,
> find_result=False)

tickets/ticket47829_test.py:453:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47829_test.py:174: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Stage user to a Active group. Then move Stage user to Active INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Stage user to a Active group. Then move Stage user to Active ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ############################################### ticket47829_test.py 171 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47829_test.py 172 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_indirect_active_group_1(topology_st):
_header(topology_st, 'add an Active group (G1) to an active group (G0). Then add active user to G1')

> topology_st.standalone.modify_s(INDIRECT_ACTIVE_GROUP_DN, [(ldap.MOD_ADD, 'member', ACTIVE_GROUP_DN)])

tickets/ticket47829_test.py:497:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=indirect active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active group,cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active group (G1) to an active group (G0). Then add active user to G1 INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active group (G1) to an active group (G0). Then add active user to G1 ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ###############################################
Failed tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_2 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_indirect_active_group_2(topology_st):
_header(topology_st,
'add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to stage')

> topology_st.standalone.modify_s(INDIRECT_ACTIVE_GROUP_DN, [(ldap.MOD_ADD, 'member', ACTIVE_GROUP_DN)])

tickets/ticket47829_test.py:518:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=indirect active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active group,cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to stage INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to stage ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ###############################################
Failed tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_3 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_indirect_active_group_3(topology_st):
_header(topology_st,
'add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to out of the scope')

> topology_st.standalone.modify_s(INDIRECT_ACTIVE_GROUP_DN, [(ldap.MOD_ADD, 'member', ACTIVE_GROUP_DN)])

tickets/ticket47829_test.py:558:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=indirect active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active group,cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to out of the scope INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active group (G1) to an active group (G0). Then add active user to G1. Then move active user to out of the scope ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ###############################################
Failed tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_4 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eccc518>

def test_ticket47829_indirect_active_group_4(topology_st):
_header(topology_st,
'add an Active group (G1) to an active group (G0). Then add stage user to G1. Then move user to active. Then move it back')

> topology_st.standalone.modify_s(INDIRECT_ACTIVE_GROUP_DN, [(ldap.MOD_ADD, 'member', ACTIVE_GROUP_DN)])

tickets/ticket47829_test.py:598:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bd84358>
func = <built-in method modify_ext of LDAP object at 0x7fb38bf1e328>
args = ('cn=indirect active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=active group,cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Active group (G1) to an active group (G0). Then add stage user to G1. Then move user to active. Then move it back INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47829_test.py 61 INFO ############################################### ticket47829_test.py 62 INFO ####### ticket47829_test.py 63 INFO ####### add an Active group (G1) to an active group (G0). Then add stage user to G1. Then move user to active. Then move it back ticket47829_test.py 64 INFO ####### ticket47829_test.py 65 INFO ###############################################
Failed tickets/ticket47833_test.py::test_ticket47829_init 0.03
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38bf26ba8>

def test_ticket47829_init(topology_st):
topology_st.standalone.add_s(Entry((SCOPE_IN_DN, {
'objectclass': "top nscontainer".split(),
'cn': SCOPE_IN_DN})))
topology_st.standalone.add_s(Entry((SCOPE_OUT_DN, {
'objectclass': "top nscontainer".split(),
'cn': SCOPE_OUT_DN})))
topology_st.standalone.add_s(Entry((PROVISIONING_DN, {
'objectclass': "top nscontainer".split(),
'cn': PROVISIONING_CN})))
topology_st.standalone.add_s(Entry((ACTIVE_DN, {
'objectclass': "top nscontainer".split(),
'cn': ACTIVE_CN})))
topology_st.standalone.add_s(Entry((STAGE_DN, {
'objectclass': "top nscontainer".split(),
'cn': STAGE_DN})))
topology_st.standalone.add_s(Entry((DELETE_DN, {
'objectclass': "top nscontainer".split(),
'cn': DELETE_CN})))

# add groups
topology_st.standalone.add_s(Entry((ACTIVE_GROUP_DN, {
'objectclass': "top groupOfNames".split(),
'cn': ACTIVE_GROUP_CN})))
topology_st.standalone.add_s(Entry((STAGE_GROUP_DN, {
'objectclass': "top groupOfNames".split(),
'cn': STAGE_GROUP_CN})))
topology_st.standalone.add_s(Entry((OUT_GROUP_DN, {
'objectclass': "top groupOfNames".split(),
'cn': OUT_GROUP_CN})))

# add users
_add_user(topology_st, 'active')
_add_user(topology_st, 'stage')
_add_user(topology_st, 'out')

# enable memberof of with scope account
topology_st.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
dn = "cn=%s,%s" % (PLUGIN_MEMBER_OF, DN_PLUGIN)
> topology_st.standalone.modify_s(dn, [(ldap.MOD_REPLACE, 'memberOfEntryScope', ACTIVE_DN)])

tickets/ticket47833_test.py:191:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39f6a6cc0>
func = <built-in method modify_ext of LDAP object at 0x7fb38be115a8>
args = ('cn=MemberOf Plugin,cn=plugins,cn=config', [(2, 'memberOfEntryScope', 'cn=accounts,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket47833_test.py::test_ticket47829_mod_stage_user_modrdn_stage_user_1 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38bf26ba8>

def test_ticket47829_mod_stage_user_modrdn_stage_user_1(topology_st):
_header(topology_st, 'add an Stage user to a Active group. Then move Stage user to Stage')

old_stage_user_dn = STAGE_USER_DN
old_stage_user_rdn = "cn=%s" % STAGE_USER_CN
new_stage_user_rdn = "cn=x%s" % STAGE_USER_CN
new_stage_user_dn = "%s,%s" % (new_stage_user_rdn, STAGE_DN)

# add Stage user to active group
_check_memberof(topology_st, action=ldap.MOD_ADD, user_dn=old_stage_user_dn, group_dn=ACTIVE_GROUP_DN,
> find_result=False)

tickets/ticket47833_test.py:206:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47833_test.py:147: in _check_memberof
topology_st.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39f6a6cc0>
func = <built-in method modify_ext of LDAP object at 0x7fb38be115a8>
args = ('cn=active group,cn=accounts,cn=in,dc=example,dc=com', [(0, 'member', 'cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### add an Stage user to a Active group. Then move Stage user to Stage INFO:lib389:####### INFO:lib389:############################################### INFO:lib389: add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com INFO:lib389:to group cn=active group,cn=accounts,cn=in,dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket47833_test.py 57 INFO ############################################### ticket47833_test.py 58 INFO ####### ticket47833_test.py 59 INFO ####### add an Stage user to a Active group. Then move Stage user to Stage ticket47833_test.py 60 INFO ####### ticket47833_test.py 61 INFO ############################################### ticket47833_test.py 144 INFO add entry cn=stage guy,cn=staged users,cn=provisioning,cn=in,dc=example,dc=com ticket47833_test.py 145 INFO to group cn=active group,cn=accounts,cn=in,dc=example,dc=com
Failed tickets/ticket47838_test.py::test_47838_init 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_init(topology_st):
"""
Generate self signed cert and import it to the DS cert db.
Enable SSL
"""
_header(topology_st, 'Testing Ticket 47838 - harden the list of ciphers available by default')

onss_version = os.popen("rpm -q nss | awk -F'-' '{print $2}'", "r")
global nss_version
nss_version = onss_version.readline()

> topology_st.standalone.nss_ssl.reinit()

tickets/ticket47838_test.py:65:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>, name = 'nss_ssl'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'nss_ssl'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Testing Ticket 47838 - harden the list of ciphers available by default INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Testing Ticket 47838 - harden the list of ciphers available by default ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_0 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_0(topology_st):
"""
Check nsSSL3Ciphers: +all
All ciphers are enabled except null.
Note: allowWeakCipher: on
"""
_header(topology_st, 'Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '64')])

tickets/ticket47838_test.py:116:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '64')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '6')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_1 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_1(topology_st):
"""
Check nsSSL3Ciphers: +all
All ciphers are enabled except null.
Note: default allowWeakCipher (i.e., off) for +all
"""
_header(topology_st, 'Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '64')])

tickets/ticket47838_test.py:155:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '64')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '6')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_2 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_2(topology_st):
"""
Check nsSSL3Ciphers: +rsa_aes_128_sha,+rsa_aes_256_sha
rsa_aes_128_sha, tls_rsa_aes_128_sha, rsa_aes_256_sha, tls_rsa_aes_256_sha are enabled.
default allowWeakCipher
"""
_header(topology_st,
'Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN,
> [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '+rsa_aes_128_sha,+rsa_aes_256_sha')])

tickets/ticket47838_test.py:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+rsa_aes_128_sha,+rsa_aes_256_sha')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '+')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_3 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_3(topology_st):
"""
Check nsSSL3Ciphers: -all
All ciphers are disabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 4 - Check the ciphers availability for "-all"')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '-all')])

tickets/ticket47838_test.py:234:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '-all')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '-')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 4 - Check the ciphers availability for "-all" INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 4 - Check the ciphers availability for "-all" ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_4 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_4(topology_st):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 5 - Check no nsSSL3Ciphers (default setting) with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_DELETE, 'nsSSL3Ciphers', '-all')])

tickets/ticket47838_test.py:266:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(1, 'nsSSL3Ciphers', '-all')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '-')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 5 - Check no nsSSL3Ciphers (default setting) with default allowWeakCipher INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 5 - Check no nsSSL3Ciphers (default setting) with default allowWeakCipher ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_5 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_5(topology_st):
"""
Check nsSSL3Ciphers: default
Default ciphers are enabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', 'default')])

tickets/ticket47838_test.py:309:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', 'default')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'd')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_6 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_6(topology_st):
"""
Check nsSSL3Ciphers: +all,-rsa_rc4_128_md5
All ciphers are disabled.
default allowWeakCipher
"""
_header(topology_st,
'Test Case 7 - Check nsSSL3Ciphers: +all,-tls_dhe_rsa_aes_128_gcm_sha with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN,
> [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '+all,-tls_dhe_rsa_aes_128_gcm_sha')])

tickets/ticket47838_test.py:354:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+all,-tls_dhe_rsa_aes_128_gcm_sha')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '+')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 7 - Check nsSSL3Ciphers: +all,-tls_dhe_rsa_aes_128_gcm_sha with default allowWeakCipher INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 7 - Check nsSSL3Ciphers: +all,-tls_dhe_rsa_aes_128_gcm_sha with default allowWeakCipher ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_7 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_7(topology_st):
"""
Check nsSSL3Ciphers: -all,+rsa_rc4_128_md5
All ciphers are disabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 8 - Check nsSSL3Ciphers: -all,+rsa_rc4_128_md5 with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '-all,+rsa_rc4_128_md5')])

tickets/ticket47838_test.py:389:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '-all,+rsa_rc4_128_md5')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '-')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 8 - Check nsSSL3Ciphers: -all,+rsa_rc4_128_md5 with default allowWeakCipher INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 8 - Check nsSSL3Ciphers: -all,+rsa_rc4_128_md5 with default allowWeakCipher ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_8 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_8(topology_st):
"""
Check nsSSL3Ciphers: default + allowWeakCipher: off
Strong Default ciphers are enabled.
"""
_header(topology_st, 'Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off)')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', 'default'),
> (ldap.MOD_REPLACE, 'allowWeakCipher', 'off')])

tickets/ticket47838_test.py:422:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', 'default'), (2, 'allowWeakCipher', 'off')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'd')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off) INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off) ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_9 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_9(topology_st):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
allowWeakCipher: on
nsslapd-errorlog-level: 0
"""
_header(topology_st,
'Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', None),
> (ldap.MOD_REPLACE, 'allowWeakCipher', 'on')])

tickets/ticket47838_test.py:468:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', None), (2, 'allowWeakCipher', 'on')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'o')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_10 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_10(topology_st):
"""
Check nsSSL3Ciphers: -TLS_RSA_WITH_NULL_MD5,+TLS_RSA_WITH_RC4_128_MD5,
+TLS_RSA_EXPORT_WITH_RC4_40_MD5,+TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,
+TLS_DHE_RSA_WITH_DES_CBC_SHA,+SSL_RSA_FIPS_WITH_DES_CBC_SHA,
+TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,+SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA,
+TLS_RSA_EXPORT1024_WITH_RC4_56_SHA,+TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA,
-SSL_CK_RC4_128_WITH_MD5,-SSL_CK_RC4_128_EXPORT40_WITH_MD5,
-SSL_CK_RC2_128_CBC_WITH_MD5,-SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5,
-SSL_CK_DES_64_CBC_WITH_MD5,-SSL_CK_DES_192_EDE3_CBC_WITH_MD5
allowWeakCipher: on
nsslapd-errorlog-level: 0
"""
_header(topology_st,
'Test Case 11 - Check nsSSL3Ciphers: long list using the NSS Cipher Suite name with allowWeakCipher on')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers',
> '-TLS_RSA_WITH_NULL_MD5,+TLS_RSA_WITH_RC4_128_MD5,+TLS_RSA_EXPORT_WITH_RC4_40_MD5,+TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,+TLS_DHE_RSA_WITH_DES_CBC_SHA,+SSL_RSA_FIPS_WITH_DES_CBC_SHA,+TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,+SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA,+TLS_RSA_EXPORT1024_WITH_RC4_56_SHA,+TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA,-SSL_CK_RC4_128_WITH_MD5,-SSL_CK_RC4_128_EXPORT40_WITH_MD5,-SSL_CK_RC2_128_CBC_WITH_MD5,-SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5,-SSL_CK_DES_64_CBC_WITH_MD5,-SSL_CK_DES_192_EDE3_CBC_WITH_MD5')])

tickets/ticket47838_test.py:526:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '-TLS_RSA_WITH_NULL_MD5,+TLS_RSA_WITH_RC4_128_MD5,+TLS_RSA_EXPORT_WI...MD5,-SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5,-SSL_CK_DES_64_CBC_WITH_MD5,-SSL_CK_DES_192_EDE3_CBC_WITH_MD5')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '-')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 11 - Check nsSSL3Ciphers: long list using the NSS Cipher Suite name with allowWeakCipher on INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 11 - Check nsSSL3Ciphers: long list using the NSS Cipher Suite name with allowWeakCipher on ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_11 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_11(topology_st):
"""
Check nsSSL3Ciphers: +fortezza
SSL_GetImplementedCiphers does not return this as a secuire cipher suite
"""
_header(topology_st, 'Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '+fortezza')])

tickets/ticket47838_test.py:567:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+fortezza')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '+')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47928_run_0 0.14
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47928_run_0(topology_st):
"""
No SSL version config parameters.
Check SSL3 (TLS1.0) is off.
"""
_header(topology_st, 'Test Case 13 - No SSL version config parameters')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
# add them once and remove them
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3', 'off'),
(ldap.MOD_REPLACE, 'nsTLS1', 'on'),
(ldap.MOD_REPLACE, 'sslVersionMin', 'TLS1.1'),
> (ldap.MOD_REPLACE, 'sslVersionMax', 'TLS1.2')])

tickets/ticket47838_test.py:599:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3', 'off'), (2, 'nsTLS1', 'on'), (2, 'sslVersionMin', 'TLS1.1'), (2, 'sslVersionMax', 'TLS1.2')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'o')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 13 - No SSL version config parameters INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 13 - No SSL version config parameters ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47928_run_1 0.12
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47928_run_1(topology_st):
"""
No nsSSL3, nsTLS1; sslVersionMin > sslVersionMax
Check sslVersionMax is ignored.
"""
_header(topology_st, 'Test Case 14 - No nsSSL3, nsTLS1; sslVersionMin > sslVersionMax')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'sslVersionMin', 'TLS1.2'),
> (ldap.MOD_REPLACE, 'sslVersionMax', 'TLS1.1')])

tickets/ticket47838_test.py:633:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'sslVersionMin', 'TLS1.2'), (2, 'sslVersionMax', 'TLS1.1')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'T')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 14 - No nsSSL3, nsTLS1; sslVersionMin > sslVersionMax INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 14 - No nsSSL3, nsTLS1; sslVersionMin > sslVersionMax ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47928_run_2 0.14
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47928_run_2(topology_st):
"""
nsSSL3: on; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2
Conflict between nsSSL3 and range; nsSSL3 is disabled
"""
_header(topology_st, 'Test Case 15 - nsSSL3: on; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'sslVersionMin', 'TLS1.1'),
(ldap.MOD_REPLACE, 'sslVersionMax', 'TLS1.2'),
> (ldap.MOD_REPLACE, 'nsSSL3', 'on')])

tickets/ticket47838_test.py:670:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'sslVersionMin', 'TLS1.1'), (2, 'sslVersionMax', 'TLS1.2'), (2, 'nsSSL3', 'on')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'T')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 15 - nsSSL3: on; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2 INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 15 - nsSSL3: on; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2 ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47928_run_3 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47928_run_3(topology_st):
"""
nsSSL3: on; nsTLS1: off; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2
Conflict between nsSSL3/nsTLS1 and range; nsSSL3 is disabled; nsTLS1 is enabled.
"""
_header(topology_st, 'Test Case 16 - nsSSL3: on; nsTLS1: off; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'sslVersionMin', 'TLS1.1'),
(ldap.MOD_REPLACE, 'sslVersionMax', 'TLS1.2'),
(ldap.MOD_REPLACE, 'nsSSL3', 'on'),
> (ldap.MOD_REPLACE, 'nsTLS1', 'off')])

tickets/ticket47838_test.py:717:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'sslVersionMin', 'TLS1.1'), (2, 'sslVersionMax', 'TLS1.2'), (2, 'nsSSL3', 'on'), (2, 'nsTLS1', 'off')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'T')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 16 - nsSSL3: on; nsTLS1: off; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2 INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 16 - nsSSL3: on; nsTLS1: off; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2 ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47838_test.py::test_47838_run_last 0.12
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b6262e8>

def test_47838_run_last(topology_st):
"""
Check nsSSL3Ciphers: all <== invalid value
All ciphers are disabled.
"""
_header(topology_st, 'Test Case 17 - Check nsSSL3Ciphers: all, which is invalid')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', None)])
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', 'all')])

tickets/ticket47838_test.py:762:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf16ef0>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1966e8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', 'all')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'a')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Test Case 17 - Check nsSSL3Ciphers: all, which is invalid INFO:lib389:####### INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket47838_test.py 47 INFO ############################################### ticket47838_test.py 48 INFO ####### ticket47838_test.py 49 INFO ####### Test Case 17 - Check nsSSL3Ciphers: all, which is invalid ticket47838_test.py 50 INFO ####### ticket47838_test.py 51 INFO ###############################################
Failed tickets/ticket47869MMR_test.py::test_ticket47869_init 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bf5d898>

def test_ticket47869_init(topology_m2):
"""
It adds an entry ('bind_entry') and 10 test entries
It sets the anonymous aci

"""
# enable acl error logging
mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', str(8192))] # REPL
> topology_m2.ms["master1"].modify_s(DN_CONFIG, mod)

tickets/ticket47869MMR_test.py:38:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39f22e0f0>
func = <built-in method modify_ext of LDAP object at 0x7fb38be320d0>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '8192')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '8')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists
Failed tickets/ticket47869MMR_test.py::test_ticket47869_check 0.22
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bf5d898>

def test_ticket47869_check(topology_m2):
'''
On Master 1 and 2:
Bind as Directory Manager.
Search all specifying nscpEntryWsi in the attribute list.
Check nscpEntryWsi is returned.
On Master 1 and 2:
Bind as Bind Entry.
Search all specifying nscpEntryWsi in the attribute list.
Check nscpEntryWsi is not returned.
On Master 1 and 2:
Bind as anonymous.
Search all specifying nscpEntryWsi in the attribute list.
Check nscpEntryWsi is not returned.
'''
topology_m2.ms["master1"].log.info("\n\n######################### CHECK nscpentrywsi ######################\n")

topology_m2.ms["master1"].log.info("##### Master1: Bind as %s #####" % DN_DM)
topology_m2.ms["master1"].simple_bind_s(DN_DM, PASSWORD)

topology_m2.ms["master1"].log.info("Master1: Calling search_ext...")
msgid = topology_m2.ms["master1"].search_ext(SUFFIX, ldap.SCOPE_SUBTREE, 'objectclass=*', ['nscpentrywsi'])
nscpentrywsicnt = 0
rtype, rdata, rmsgid = topology_m2.ms["master1"].result2(msgid)
topology_m2.ms["master1"].log.info("%d results" % len(rdata))

topology_m2.ms["master1"].log.info("Results:")
for dn, attrs in rdata:
topology_m2.ms["master1"].log.info("dn: %s" % dn)
if 'nscpentrywsi' in attrs:
nscpentrywsicnt += 1

topology_m2.ms["master1"].log.info("Master1: count of nscpentrywsi: %d" % nscpentrywsicnt)

topology_m2.ms["master2"].log.info("##### Master2: Bind as %s #####" % DN_DM)
topology_m2.ms["master2"].simple_bind_s(DN_DM, PASSWORD)

topology_m2.ms["master2"].log.info("Master2: Calling search_ext...")
msgid = topology_m2.ms["master2"].search_ext(SUFFIX, ldap.SCOPE_SUBTREE, 'objectclass=*', ['nscpentrywsi'])
nscpentrywsicnt = 0
rtype, rdata, rmsgid = topology_m2.ms["master2"].result2(msgid)
topology_m2.ms["master2"].log.info("%d results" % len(rdata))

topology_m2.ms["master2"].log.info("Results:")
for dn, attrs in rdata:
topology_m2.ms["master2"].log.info("dn: %s" % dn)
if 'nscpentrywsi' in attrs:
nscpentrywsicnt += 1

topology_m2.ms["master2"].log.info("Master2: count of nscpentrywsi: %d" % nscpentrywsicnt)

# bind as bind_entry
topology_m2.ms["master1"].log.info("##### Master1: Bind as %s #####" % BIND_DN)
> topology_m2.ms["master1"].simple_bind_s(BIND_DN, BIND_PW)

tickets/ticket47869MMR_test.py:140:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:444: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39f22e0f0>
func = <built-in method result4 of LDAP object at 0x7fb38be320d0>
args = (57, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: INVALID_CREDENTIALS
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ######################### CHECK nscpentrywsi ###################### INFO:lib389:##### Master1: Bind as cn=Directory Manager ##### INFO:lib389:Master1: Calling search_ext... INFO:lib389:13 results INFO:lib389:Results: INFO:lib389:dn: dc=example,dc=com INFO:lib389:dn: cn=Directory Administrators,dc=example,dc=com INFO:lib389:dn: ou=Groups,dc=example,dc=com INFO:lib389:dn: ou=People,dc=example,dc=com INFO:lib389:dn: ou=Special Users,dc=example,dc=com INFO:lib389:dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=HR Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=QA Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=PD Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=replication_managers,dc=example,dc=com INFO:lib389:dn: ou=Services,dc=example,dc=com INFO:lib389:dn: cn=server.example.com:63701,ou=Services,dc=example,dc=com INFO:lib389:dn: cn=server.example.com:63702,ou=Services,dc=example,dc=com INFO:lib389:Master1: count of nscpentrywsi: 13 INFO:lib389:##### Master2: Bind as cn=Directory Manager ##### INFO:lib389:Master2: Calling search_ext... INFO:lib389:13 results INFO:lib389:Results: INFO:lib389:dn: dc=example,dc=com INFO:lib389:dn: cn=Directory Administrators,dc=example,dc=com INFO:lib389:dn: ou=Groups,dc=example,dc=com INFO:lib389:dn: ou=People,dc=example,dc=com INFO:lib389:dn: ou=Special Users,dc=example,dc=com INFO:lib389:dn: cn=replication_managers,dc=example,dc=com INFO:lib389:dn: ou=Services,dc=example,dc=com INFO:lib389:dn: cn=server.example.com:63701,ou=Services,dc=example,dc=com INFO:lib389:dn: cn=server.example.com:63702,ou=Services,dc=example,dc=com INFO:lib389:dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=HR Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=QA Managers,ou=Groups,dc=example,dc=com INFO:lib389:dn: cn=PD Managers,ou=Groups,dc=example,dc=com INFO:lib389:Master2: count of nscpentrywsi: 13 INFO:lib389:##### Master1: Bind as cn=bind_entry, dc=example,dc=com ##### ------------------------------ Captured log call -------------------------------
ticket47869MMR_test.py 102 INFO ######################### CHECK nscpentrywsi ###################### ticket47869MMR_test.py 104 INFO ##### Master1: Bind as cn=Directory Manager ##### ticket47869MMR_test.py 107 INFO Master1: Calling search_ext... ticket47869MMR_test.py 111 INFO 13 results ticket47869MMR_test.py 113 INFO Results: ticket47869MMR_test.py 115 INFO dn: dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=Directory Administrators,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: ou=Groups,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: ou=People,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: ou=Special Users,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=HR Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=QA Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=PD Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=replication_managers,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: ou=Services,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=server.example.com:63701,ou=Services,dc=example,dc=com ticket47869MMR_test.py 115 INFO dn: cn=server.example.com:63702,ou=Services,dc=example,dc=com ticket47869MMR_test.py 119 INFO Master1: count of nscpentrywsi: 13 ticket47869MMR_test.py 121 INFO ##### Master2: Bind as cn=Directory Manager ##### ticket47869MMR_test.py 124 INFO Master2: Calling search_ext... ticket47869MMR_test.py 128 INFO 13 results ticket47869MMR_test.py 130 INFO Results: ticket47869MMR_test.py 132 INFO dn: dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=Directory Administrators,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: ou=Groups,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: ou=People,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: ou=Special Users,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=replication_managers,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: ou=Services,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=server.example.com:63701,ou=Services,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=server.example.com:63702,ou=Services,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=HR Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=QA Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 132 INFO dn: cn=PD Managers,ou=Groups,dc=example,dc=com ticket47869MMR_test.py 136 INFO Master2: count of nscpentrywsi: 13 ticket47869MMR_test.py 139 INFO ##### Master1: Bind as cn=bind_entry, dc=example,dc=com #####
Failed tickets/ticket47871_test.py::test_ticket47871_init 0.01
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7fb39ef73860>

def test_ticket47871_init(topology_m1c1):
"""
Initialize the test environment
"""
topology_m1c1.ms["master1"].plugins.enable(name=PLUGIN_RETRO_CHANGELOG)
mod = [(ldap.MOD_REPLACE, 'nsslapd-changelogmaxage', "10s"), # 10 second triming
(ldap.MOD_REPLACE, 'nsslapd-changelog-trim-interval', "5s")]
> topology_m1c1.ms["master1"].modify_s("cn=%s,%s" % (PLUGIN_RETRO_CHANGELOG, DN_PLUGIN), mod)

tickets/ticket47871_test.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38b606b38>
func = <built-in method modify_ext of LDAP object at 0x7fb38c797dc8>
args = ('cn=Retro Changelog Plugin,cn=plugins,cn=config', [(2, 'nsslapd-changelogmaxage', '10s'), (2, 'nsslapd-changelog-trim-interval', '5s')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39201 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39201 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://server.example.com:39001 to ldap://server.example.com:39201 INFO:lib389.topologies:Ensuring consumer consumer1 from master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39201 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 166 INFO Joining consumer consumer1 from master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39201 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39201 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39201 is working replica.py 1645 INFO SUCCESS: joined consumer from ldap://server.example.com:39001 to ldap://server.example.com:39201 topologies.py 171 INFO Ensuring consumer consumer1 from master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39201 already exists
Failed tickets/ticket47871_test.py::test_ticket47871_1 1.02
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7fb39ef73860>

def test_ticket47871_1(topology_m1c1):
'''
ADD entries and check they are all in the retrocl
'''
# add dummy entries
for cpt in range(MAX_OTHERS):
name = "%s%d" % (OTHER_NAME, cpt)
topology_m1c1.ms["master1"].add_s(Entry(("cn=%s,%s" % (name, SUFFIX), {
'objectclass': "top person".split(),
'sn': name,
'cn': name})))

topology_m1c1.ms["master1"].log.info(
"test_ticket47871_init: %d entries ADDed %s[0..%d]" % (MAX_OTHERS, OTHER_NAME, MAX_OTHERS - 1))

# Check the number of entries in the retro changelog
time.sleep(1)
> ents = topology_m1c1.ms["master1"].search_s(RETROCL_SUFFIX, ldap.SCOPE_ONELEVEL, "(objectclass=*)")

tickets/ticket47871_test.py:75:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:852: in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:846: in search_ext_s
return self.result(msgid,all=1,timeout=timeout)[1]
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:135: in inner
objtype, data = f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:738: in result
resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:742: in result2
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38b606b38>
func = <built-in method result4 of LDAP object at 0x7fb38c797dc8>
args = (56, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.NO_SUCH_OBJECT: {'desc': 'No such object'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
----------------------------- Captured stderr call -----------------------------
INFO:lib389:test_ticket47871_init: 10 entries ADDed other_entry[0..9] ------------------------------ Captured log call -------------------------------
ticket47871_test.py 71 INFO test_ticket47871_init: 10 entries ADDed other_entry[0..9]
Failed tickets/ticket47871_test.py::test_ticket47871_2 6.01
topology_m1c1 = <lib389.topologies.TopologyMain object at 0x7fb39ef73860>

def test_ticket47871_2(topology_m1c1):
'''
Wait until there is just a last entries
'''
MAX_TRIES = 10
TRY_NO = 1
while TRY_NO <= MAX_TRIES:
time.sleep(6) # at least 1 trimming occurred
> ents = topology_m1c1.ms["master1"].search_s(RETROCL_SUFFIX, ldap.SCOPE_ONELEVEL, "(objectclass=*)")

tickets/ticket47871_test.py:90:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:852: in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:846: in search_ext_s
return self.result(msgid,all=1,timeout=timeout)[1]
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:135: in inner
objtype, data = f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:738: in result
resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:742: in result2
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38b606b38>
func = <built-in method result4 of LDAP object at 0x7fb38c797dc8>
args = (57, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.NO_SUCH_OBJECT: {'desc': 'No such object'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
Failed tickets/ticket47900_test.py::test_ticket47900 0.05
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b606e48>

def test_ticket47900(topology_st):
"""
Test that password administrators/root DN can
bypass password syntax/policy.

We need to test how passwords are modified in
existing entries, and when adding new entries.

Create the Password Admin entry, but do not set
it as an admin yet. Use the entry to verify invalid
passwords are caught. Then activate the password
admin and make sure it can bypass password policy.
"""

# Prepare the Password Administator
entry = Entry(ADMIN_DN)
entry.setValues('objectclass', 'top', 'person')
entry.setValues('sn', ADMIN_NAME)
entry.setValues('cn', ADMIN_NAME)
entry.setValues('userpassword', ADMIN_PWD)

topology_st.standalone.log.info("Creating Password Administator entry %s..." % ADMIN_DN)
try:
topology_st.standalone.add_s(entry)
except ldap.LDAPError as e:
topology_st.standalone.log.error('Unexpected result ' + e.message['desc'])
assert False
topology_st.standalone.log.error("Failed to add Password Administator %s, error: %s "
% (ADMIN_DN, e.message['desc']))
assert False

topology_st.standalone.log.info("Configuring password policy...")
try:
topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-pwpolicy-local', 'on'),
(ldap.MOD_REPLACE, 'passwordCheckSyntax', 'on'),
(ldap.MOD_REPLACE, 'passwordMinCategories', '1'),
(ldap.MOD_REPLACE, 'passwordMinTokenLength', '1'),
(ldap.MOD_REPLACE, 'passwordExp', 'on'),
(ldap.MOD_REPLACE, 'passwordMinDigits', '1'),
> (ldap.MOD_REPLACE, 'passwordMinSpecials', '1')])

tickets/ticket47900_test.py:67:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bbf6eb8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f31f620>
args = ('cn=config', [(2, 'nsslapd-pwpolicy-local', 'on'), (2, 'passwordCheckSyntax', 'on'), (2, 'passwordMinCategories', '1'), (2, 'passwordMinTokenLength', '1'), (2, 'passwordExp', 'on'), (2, 'passwordMinDigits', '1'), ...], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'o')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389:Creating Password Administator entry cn=passwd_admin,dc=example,dc=com... INFO:lib389:Configuring password policy... ------------------------------ Captured log call -------------------------------
ticket47900_test.py 49 INFO Creating Password Administator entry cn=passwd_admin,dc=example,dc=com... ticket47900_test.py 59 INFO Configuring password policy...
Failed tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_positive 0.26
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecc7898>
log_dir = '/var/log/dirsrv/slapd-standalone1/access'

def test_ticket47910_logconv_start_end_positive(topology_st, log_dir):
'''
Execute logconv.pl with -S and -E(endtime) with random time stamp
This is execute successfully
'''
#
# Execute logconv.pl -S -E with random timestamp
#
log.info('Running test_ticket47910 - Execute logconv.pl -S -E with random values')

log.info("taking current time with offset of 2 mins and formatting it to feed -S")
start_time_stamp = (datetime.now() - timedelta(minutes=2))
formatted_start_time_stamp = format_time(start_time_stamp)

log.info("taking current time with offset of 2 mins and formatting it to feed -E")
end_time_stamp = (datetime.now() + timedelta(minutes=2))
formatted_end_time_stamp = format_time(end_time_stamp)

log.info("Executing logconv.pl with -S and -E")
> result = execute_logconv(topology_st.standalone, formatted_start_time_stamp, formatted_end_time_stamp, log_dir)

tickets/ticket47910_test.py:87:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

inst = <lib389.DirSrv object at 0x7fb38c0afa90>
start_time_stamp = '[27/Jun/2018:20:37:16]'
end_time_stamp = '[27/Jun/2018:20:41:16]'
access_log = '/var/log/dirsrv/slapd-standalone1/access'

def execute_logconv(inst, start_time_stamp, end_time_stamp, access_log):
'''
This function will take start time and end time
as input parameter and
assign these values to -S and -E options of logconv
and, it will execute logconv and return result value
'''

log.info("Executing logconv.pl with -S current time and -E end time")
cmd = [os.path.join(inst.get_bin_dir(), 'logconv.pl'), '-S', start_time_stamp, '-E', end_time_stamp, access_log]
log.info(" ".join(cmd))
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
> log.info("standard output" + stdout)
E TypeError: must be str, not bytes

tickets/ticket47910_test.py:63: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.utils:Diable access log buffering INFO:lib389.utils:Do a ldapsearch operation INFO:lib389.utils:sleep for sometime so that access log file get generated ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ticket47910_test.py 33 INFO Diable access log buffering ticket47910_test.py 36 INFO Do a ldapsearch operation ticket47910_test.py 39 INFO sleep for sometime so that access log file get generated----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Running test_ticket47910 - Execute logconv.pl -S -E with random values INFO:lib389.utils:taking current time with offset of 2 mins and formatting it to feed -S INFO:lib389.utils:taking current time with offset of 2 mins and formatting it to feed -E INFO:lib389.utils:Executing logconv.pl with -S and -E INFO:lib389.utils:Executing logconv.pl with -S current time and -E end time INFO:lib389.utils:/usr/bin/logconv.pl -S [27/Jun/2018:20:37:16] -E [27/Jun/2018:20:41:16] /var/log/dirsrv/slapd-standalone1/access ------------------------------ Captured log call -------------------------------
ticket47910_test.py 76 INFO Running test_ticket47910 - Execute logconv.pl -S -E with random values ticket47910_test.py 78 INFO taking current time with offset of 2 mins and formatting it to feed -S ticket47910_test.py 82 INFO taking current time with offset of 2 mins and formatting it to feed -E ticket47910_test.py 86 INFO Executing logconv.pl with -S and -E ticket47910_test.py 58 INFO Executing logconv.pl with -S current time and -E end time ticket47910_test.py 60 INFO /usr/bin/logconv.pl -S [27/Jun/2018:20:37:16] -E [27/Jun/2018:20:41:16] /var/log/dirsrv/slapd-standalone1/access
Failed tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_negative 0.12
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecc7898>
log_dir = '/var/log/dirsrv/slapd-standalone1/access'

def test_ticket47910_logconv_start_end_negative(topology_st, log_dir):
'''
Execute logconv.pl with -S and -E(endtime) with random time stamp
This is a negative test case, where endtime will be lesser than the
starttime
This should give error message
'''

#
# Execute logconv.pl -S and -E with random timestamp
#
log.info('Running test_ticket47910 - Execute logconv.pl -S -E with starttime>endtime')

log.info("taking current time with offset of 2 mins and formatting it to feed -S")
start_time_stamp = (datetime.now() + timedelta(minutes=2))
formatted_start_time_stamp = format_time(start_time_stamp)

log.info("taking current time with offset of 2 mins and formatting it to feed -E")
end_time_stamp = (datetime.now() - timedelta(minutes=2))
formatted_end_time_stamp = format_time(end_time_stamp)

log.info("Executing logconv.pl with -S and -E")
> result = execute_logconv(topology_st.standalone, formatted_start_time_stamp, formatted_end_time_stamp, log_dir)

tickets/ticket47910_test.py:113:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

inst = <lib389.DirSrv object at 0x7fb38c0afa90>
start_time_stamp = '[27/Jun/2018:20:41:16]'
end_time_stamp = '[27/Jun/2018:20:37:16]'
access_log = '/var/log/dirsrv/slapd-standalone1/access'

def execute_logconv(inst, start_time_stamp, end_time_stamp, access_log):
'''
This function will take start time and end time
as input parameter and
assign these values to -S and -E options of logconv
and, it will execute logconv and return result value
'''

log.info("Executing logconv.pl with -S current time and -E end time")
cmd = [os.path.join(inst.get_bin_dir(), 'logconv.pl'), '-S', start_time_stamp, '-E', end_time_stamp, access_log]
log.info(" ".join(cmd))
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
> log.info("standard output" + stdout)
E TypeError: must be str, not bytes

tickets/ticket47910_test.py:63: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Running test_ticket47910 - Execute logconv.pl -S -E with starttime>endtime INFO:lib389.utils:taking current time with offset of 2 mins and formatting it to feed -S INFO:lib389.utils:taking current time with offset of 2 mins and formatting it to feed -E INFO:lib389.utils:Executing logconv.pl with -S and -E INFO:lib389.utils:Executing logconv.pl with -S current time and -E end time INFO:lib389.utils:/usr/bin/logconv.pl -S [27/Jun/2018:20:41:16] -E [27/Jun/2018:20:37:16] /var/log/dirsrv/slapd-standalone1/access ------------------------------ Captured log call -------------------------------
ticket47910_test.py 102 INFO Running test_ticket47910 - Execute logconv.pl -S -E with starttime>endtime ticket47910_test.py 104 INFO taking current time with offset of 2 mins and formatting it to feed -S ticket47910_test.py 108 INFO taking current time with offset of 2 mins and formatting it to feed -E ticket47910_test.py 112 INFO Executing logconv.pl with -S and -E ticket47910_test.py 58 INFO Executing logconv.pl with -S current time and -E end time ticket47910_test.py 60 INFO /usr/bin/logconv.pl -S [27/Jun/2018:20:41:16] -E [27/Jun/2018:20:37:16] /var/log/dirsrv/slapd-standalone1/access
Failed tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_invalid 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecc7898>
log_dir = '/var/log/dirsrv/slapd-standalone1/access'

def test_ticket47910_logconv_start_end_invalid(topology_st, log_dir):
'''
Execute logconv.pl with -S and -E(endtime) with invalid time stamp
This is a negative test case, where it should give error message
'''
#
# Execute logconv.pl -S and -E with invalid timestamp
#
log.info('Running test_ticket47910 - Execute logconv.pl -S -E with invalid timestamp')
log.info("Set start time and end time to invalid values")
start_time_stamp = "invalid"
end_time_stamp = "invalid"

log.info("Executing logconv.pl with -S and -E")
> result = execute_logconv(topology_st.standalone, start_time_stamp, end_time_stamp, log_dir)

tickets/ticket47910_test.py:131:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

inst = <lib389.DirSrv object at 0x7fb38c0afa90>, start_time_stamp = 'invalid'
end_time_stamp = 'invalid'
access_log = '/var/log/dirsrv/slapd-standalone1/access'

def execute_logconv(inst, start_time_stamp, end_time_stamp, access_log):
'''
This function will take start time and end time
as input parameter and
assign these values to -S and -E options of logconv
and, it will execute logconv and return result value
'''

log.info("Executing logconv.pl with -S current time and -E end time")
cmd = [os.path.join(inst.get_bin_dir(), 'logconv.pl'), '-S', start_time_stamp, '-E', end_time_stamp, access_log]
log.info(" ".join(cmd))
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
> log.info("standard output" + stdout)
E TypeError: must be str, not bytes

tickets/ticket47910_test.py:63: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Running test_ticket47910 - Execute logconv.pl -S -E with invalid timestamp INFO:lib389.utils:Set start time and end time to invalid values INFO:lib389.utils:Executing logconv.pl with -S and -E INFO:lib389.utils:Executing logconv.pl with -S current time and -E end time INFO:lib389.utils:/usr/bin/logconv.pl -S invalid -E invalid /var/log/dirsrv/slapd-standalone1/access ------------------------------ Captured log call -------------------------------
ticket47910_test.py 125 INFO Running test_ticket47910 - Execute logconv.pl -S -E with invalid timestamp ticket47910_test.py 126 INFO Set start time and end time to invalid values ticket47910_test.py 130 INFO Executing logconv.pl with -S and -E ticket47910_test.py 58 INFO Executing logconv.pl with -S current time and -E end time ticket47910_test.py 60 INFO /usr/bin/logconv.pl -S invalid -E invalid /var/log/dirsrv/slapd-standalone1/access
Failed tickets/ticket47910_test.py::test_ticket47910_logconv_noaccesslogs 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ecc7898>
log_dir = '/var/log/dirsrv/slapd-standalone1/access'

def test_ticket47910_logconv_noaccesslogs(topology_st, log_dir):
'''
Execute logconv.pl -S(starttime) without specify
access logs location
'''

#
# Execute logconv.pl -S with random timestamp and no access log location
#
log.info('Running test_ticket47910 - Execute logconv.pl without access logs')

log.info("taking current time with offset of 2 mins and formatting it to feed -S")
time_stamp = (datetime.now() - timedelta(minutes=2))
formatted_time_stamp = format_time(time_stamp)
log.info("Executing logconv.pl with -S current time")
cmd = [os.path.join(topology_st.standalone.get_bin_dir(), 'logconv.pl'), '-S', formatted_time_stamp]
log.info(" ".join(cmd))
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
> log.info("standard output" + stdout)
E TypeError: must be str, not bytes

tickets/ticket47910_test.py:154: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Running test_ticket47910 - Execute logconv.pl without access logs INFO:lib389.utils:taking current time with offset of 2 mins and formatting it to feed -S INFO:lib389.utils:Executing logconv.pl with -S current time INFO:lib389.utils:/usr/bin/logconv.pl -S [27/Jun/2018:20:37:16] ------------------------------ Captured log call -------------------------------
ticket47910_test.py 144 INFO Running test_ticket47910 - Execute logconv.pl without access logs ticket47910_test.py 146 INFO taking current time with offset of 2 mins and formatting it to feed -S ticket47910_test.py 149 INFO Executing logconv.pl with -S current time ticket47910_test.py 151 INFO /usr/bin/logconv.pl -S [27/Jun/2018:20:37:16]
Failed tickets/ticket47920_test.py::test_ticket47920_mod_readentry_ctrl 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d2785c0>

def test_ticket47920_mod_readentry_ctrl(topology_st):
_header(topology_st, 'MOD: with a readentry control')

topology_st.standalone.log.info("Check the initial value of the entry")
ent = topology_st.standalone.getEntry(ACTIVE_USER_DN, ldap.SCOPE_BASE, "(objectclass=*)", ['description'])
assert ent.hasAttr('description')
> assert ent.getValue('description') == INITIAL_DESC
E AssertionError: assert b'inital description' == 'inital description'
E + where b'inital description' = <bound method Entry.getValue of dn: cn=active guy,cn=accounts,cn=in,dc=example,dc=com\ndescription: inital description\n\n>('description')
E + where <bound method Entry.getValue of dn: cn=active guy,cn=accounts,cn=in,dc=example,dc=com\ndescription: inital description\n\n> = dn: cn=active guy,cn=accounts,cn=in,dc=example,dc=com\ndescription: inital description\n\n.getValue

tickets/ticket47920_test.py:108: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### MOD: with a readentry control INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Check the initial value of the entry ------------------------------ Captured log call -------------------------------
ticket47920_test.py 64 INFO ############################################### ticket47920_test.py 65 INFO ####### ticket47920_test.py 66 INFO ####### MOD: with a readentry control ticket47920_test.py 67 INFO ####### ticket47920_test.py 68 INFO ############################################### ticket47920_test.py 105 INFO Check the initial value of the entry
Failed tickets/ticket47921_test.py::test_ticket47921 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38b99eda0>

def test_ticket47921(topology_st):
'''
Test that indirect cos reflects the current value of the indirect entry
'''

INDIRECT_COS_DN = 'cn=cos definition,' + DEFAULT_SUFFIX
MANAGER_DN = 'uid=my manager,ou=people,' + DEFAULT_SUFFIX
USER_DN = 'uid=user,ou=people,' + DEFAULT_SUFFIX

# Add COS definition
try:
topology_st.standalone.add_s(Entry((INDIRECT_COS_DN,
{
'objectclass': 'top cosSuperDefinition cosIndirectDefinition ldapSubEntry'.split(),
'cosIndirectSpecifier': 'manager',
'cosAttribute': 'roomnumber'
})))
except ldap.LDAPError as e:
log.fatal('Failed to add cos defintion, error: ' + e.message['desc'])
assert False

# Add manager entry
try:
topology_st.standalone.add_s(Entry((MANAGER_DN,
{'objectclass': 'top extensibleObject'.split(),
'uid': 'my manager',
'roomnumber': '1'
})))
except ldap.LDAPError as e:
log.fatal('Failed to add manager entry, error: ' + e.message['desc'])
assert False

# Add user entry
try:
topology_st.standalone.add_s(Entry((USER_DN,
{'objectclass': 'top person organizationalPerson inetorgperson'.split(),
'sn': 'last',
'cn': 'full',
'givenname': 'mark',
'uid': 'user',
'manager': MANAGER_DN
})))
except ldap.LDAPError as e:
log.fatal('Failed to add manager entry, error: ' + e.message['desc'])
assert False

# Test COS is working
try:
entry = topology_st.standalone.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE,
"uid=user",
['roomnumber'])
if entry:
if entry[0].getValue('roomnumber') != '1':
log.fatal('COS is not working.')
> assert False
E assert False

tickets/ticket47921_test.py:72: AssertionError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
CRITICAL:tests.tickets.ticket47921_test:COS is not working. ------------------------------ Captured log call -------------------------------
ticket47921_test.py 71 CRITICAL COS is not working.
Failed tickets/ticket47950_test.py::test_ticket47950 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39eabb9e8>

def test_ticket47950(topology_st):
"""
Testing nsslapd-plugin-binddn-tracking does not cause issues around
access control and reconfiguring replication/repl agmt.
"""

log.info('Testing Ticket 47950 - Testing nsslapd-plugin-binddn-tracking')

#
# Turn on bind dn tracking
#
try:
> topology_st.standalone.modify_s("cn=config", [(ldap.MOD_REPLACE, 'nsslapd-plugin-binddn-tracking', 'on')])

tickets/ticket47950_test.py:39:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c09c940>
func = <built-in method modify_ext of LDAP object at 0x7fb39efbad00>
args = ('cn=config', [(2, 'nsslapd-plugin-binddn-tracking', 'on')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'o')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47950_test:Testing Ticket 47950 - Testing nsslapd-plugin-binddn-tracking ------------------------------ Captured log call -------------------------------
ticket47950_test.py 33 INFO Testing Ticket 47950 - Testing nsslapd-plugin-binddn-tracking
Failed tickets/ticket47966_test.py::test_ticket47966 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb39ecc76d8>

def test_ticket47966(topology_m2):
'''
Testing bulk import when the backend with VLV was recreated.
If the test passes without the server crash, 47966 is verified.
'''
log.info('Testing Ticket 47966 - [VLV] slapd crashes during Dogtag clone reinstallation')
M1 = topology_m2.ms["master1"]
M2 = topology_m2.ms["master2"]
m1_m2_agmt = M1.agreement.list(suffix=DEFAULT_SUFFIX)[0].dn

log.info('0. Create a VLV index on Master 2.')
# get the backend entry
be = M2.replica.conn.backend.list(suffix=DEFAULT_SUFFIX)
if not be:
log.fatal("ticket47966: enable to retrieve the backend for %s" % DEFAULT_SUFFIX)
raise ValueError("no backend for suffix %s" % DEFAULT_SUFFIX)
bent = be[0]
beName = bent.getValue('cn')
beDn = "cn=%s,cn=ldbm database,cn=plugins,cn=config" % beName

# generate vlvSearch entry
vlvSrchDn = "cn=vlvSrch,%s" % beDn
log.info('0-1. vlvSearch dn: %s' % vlvSrchDn)
vlvSrchEntry = Entry(vlvSrchDn)
vlvSrchEntry.setValues('objectclass', 'top', 'vlvSearch')
vlvSrchEntry.setValues('cn', 'vlvSrch')
vlvSrchEntry.setValues('vlvBase', DEFAULT_SUFFIX)
vlvSrchEntry.setValues('vlvFilter', '(|(objectclass=*)(objectclass=ldapsubentry))')
vlvSrchEntry.setValues('vlvScope', '2')
> M2.add_s(vlvSrchEntry)

tickets/ticket47966_test.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:163: in inner
return f(ent.dn, ent.toTupleList(), *args[2:])
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:428: in add_s
return self.add_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:165: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:414: in add_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38b994828>
func = <built-in method result4 of LDAP object at 0x7fb38be170d0>
args = (29, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.NO_SUCH_OBJECT: {'desc': 'No such object'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: NO_SUCH_OBJECT
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket47966_test:Testing Ticket 47966 - [VLV] slapd crashes during Dogtag clone reinstallation INFO:tests.tickets.ticket47966_test:0. Create a VLV index on Master 2. INFO:lib389:List backend with suffix=dc=example,dc=com INFO:tests.tickets.ticket47966_test:0-1. vlvSearch dn: cn=vlvSrch,cn=b'userRoot',cn=ldbm database,cn=plugins,cn=config ------------------------------ Captured log call -------------------------------
ticket47966_test.py 26 INFO Testing Ticket 47966 - [VLV] slapd crashes during Dogtag clone reinstallation ticket47966_test.py 31 INFO 0. Create a VLV index on Master 2. backend.py 71 INFO List backend with suffix=dc=example,dc=com ticket47966_test.py 43 INFO 0-1. vlvSearch dn: cn=vlvSrch,cn=b'userRoot',cn=ldbm database,cn=plugins,cn=config
Failed tickets/ticket47988_test.py::test_ticket47988_init 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bdd4630>

def test_ticket47988_init(topology_m2):
"""
It adds
- Objectclass with MAY 'member'
- an entry ('bind_entry') with which we bind to test the 'SELFDN' operation
It deletes the anonymous aci

"""

_header(topology_m2, 'test_ticket47988_init')

# enable acl error logging
mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', str(8192))] # REPL
> topology_m2.ms["master1"].modify_s(DN_CONFIG, mod)

tickets/ticket47988_test.py:118:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d278160>
func = <built-in method modify_ext of LDAP object at 0x7fb38d200cb0>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '8192')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '8')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_init INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_init ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_1 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bdd4630>

def test_ticket47988_1(topology_m2):
'''
Check that replication is working and pause replication M2->M1
'''
_header(topology_m2, 'test_ticket47988_1')

topology_m2.ms["master1"].log.debug("\n\nCheck that replication is working and pause replication M2->M1\n")
> _do_update_entry(supplier=topology_m2.ms["master2"], consumer=topology_m2.ms["master1"], attempts=5)

tickets/ticket47988_test.py:231:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47988_test.py:181: in _do_update_entry
supplier.modify_s(entryDN, mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38c1aeb00>
func = <built-in method modify_ext of LDAP object at 0x7fb39f0360f8>
args = ('cn=other_entry0,dc=example,dc=com', [(2, 'telephonenumber', '184')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_1 INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_1 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_2 0.09
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bdd4630>

def test_ticket47988_2(topology_m2):
'''
Update M1 schema and trigger update M1->M2
So M1 should learn new/extended definitions that are in M2 schema
'''
_header(topology_m2, 'test_ticket47988_2')

topology_m2.ms["master1"].log.debug("\n\nUpdate M1 schema and an entry on M1\n")
master1_schema_csn = topology_m2.ms["master1"].schema.get_schema_csn()
master2_schema_csn = topology_m2.ms["master2"].schema.get_schema_csn()
topology_m2.ms["master1"].log.debug("\nBefore updating the schema on M1\n")
topology_m2.ms["master1"].log.debug("Master1 nsschemaCSN: %s" % master1_schema_csn)
topology_m2.ms["master1"].log.debug("Master2 nsschemaCSN: %s" % master2_schema_csn)

# Here M1 should no, should check M2 schema and learn
> _do_update_schema(topology_m2.ms["master1"])

tickets/ticket47988_test.py:250:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47988_test.py:168: in _do_update_schema
server.modify_s('cn=schema', mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d278160>
func = <built-in method modify_ext of LDAP object at 0x7fb38d200cb0>
args = ('cn=schema', [(0, 'objectclasses', "( 2.16.840.1.113730.3.8.12.4673 NAME 'thierry4673' DESC 'Override for Group Attributes' STRUCTURAL MUST ( cn ) MAY sn X-ORIGIN ( 'IPA v4.1.2' 'user defined' ) )")], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_2 INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_2 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_3 2.01
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bdd4630>

def test_ticket47988_3(topology_m2):
'''
Resume replication M2->M1 and check replication is still working
'''
_header(topology_m2, 'test_ticket47988_3')

_resume_M2_to_M1(topology_m2)
> _do_update_entry(supplier=topology_m2.ms["master1"], consumer=topology_m2.ms["master2"], attempts=5)

tickets/ticket47988_test.py:281:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47988_test.py:181: in _do_update_entry
supplier.modify_s(entryDN, mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d278160>
func = <built-in method modify_ext of LDAP object at 0x7fb38d200cb0>
args = ('cn=other_entry0,dc=example,dc=com', [(2, 'telephonenumber', '180')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_3 INFO:lib389:####### INFO:lib389:################################################### INFO:lib389: ######################### resume RA M2->M1 ###################### INFO:lib389:Resuming replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_3 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ################################################### ticket47988_test.py 218 INFO ######################### resume RA M2->M1 ###################### agreement.py 856 INFO Resuming replication cn=001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config
Failed tickets/ticket47988_test.py::test_ticket47988_4 0.09
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bdd4630>

def test_ticket47988_4(topology_m2):
'''
Check schemaCSN is identical on both server
And save the nsschemaCSN to later check they do not change unexpectedly
'''
_header(topology_m2, 'test_ticket47988_4')

master1_schema_csn = topology_m2.ms["master1"].schema.get_schema_csn()
master2_schema_csn = topology_m2.ms["master2"].schema.get_schema_csn()
topology_m2.ms["master1"].log.debug("\n\nMaster1 nsschemaCSN: %s" % master1_schema_csn)
topology_m2.ms["master1"].log.debug("\n\nMaster2 nsschemaCSN: %s" % master2_schema_csn)
> assert (master1_schema_csn)
E assert None

tickets/ticket47988_test.py:296: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_4 INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_4 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_5 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bdd4630>

def test_ticket47988_5(topology_m2):
'''
Check schemaCSN do not change unexpectedly
'''
_header(topology_m2, 'test_ticket47988_5')

> _do_update_entry(supplier=topology_m2.ms["master1"], consumer=topology_m2.ms["master2"], attempts=5)

tickets/ticket47988_test.py:310:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47988_test.py:181: in _do_update_entry
supplier.modify_s(entryDN, mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d278160>
func = <built-in method modify_ext of LDAP object at 0x7fb38d200cb0>
args = ('cn=other_entry0,dc=example,dc=com', [(2, 'telephonenumber', '132')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_5 INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_5 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_6 0.09
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38bdd4630>

def test_ticket47988_6(topology_m2):
'''
Update M1 schema and trigger update M2->M1
So M2 should learn new/extended definitions that are in M1 schema
'''

_header(topology_m2, 'test_ticket47988_6')

topology_m2.ms["master1"].log.debug("\n\nUpdate M1 schema and an entry on M1\n")
master1_schema_csn = topology_m2.ms["master1"].schema.get_schema_csn()
master2_schema_csn = topology_m2.ms["master2"].schema.get_schema_csn()
topology_m2.ms["master1"].log.debug("\nBefore updating the schema on M1\n")
topology_m2.ms["master1"].log.debug("Master1 nsschemaCSN: %s" % master1_schema_csn)
topology_m2.ms["master1"].log.debug("Master2 nsschemaCSN: %s" % master2_schema_csn)

# Here M1 should no, should check M2 schema and learn
> _do_update_schema(topology_m2.ms["master1"], range=5999)

tickets/ticket47988_test.py:340:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket47988_test.py:168: in _do_update_schema
server.modify_s('cn=schema', mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d278160>
func = <built-in method modify_ext of LDAP object at 0x7fb38d200cb0>
args = ('cn=schema', [(0, 'objectclasses', "( 2.16.840.1.113730.3.8.12.6254 NAME 'thierry6254' DESC 'Override for Group Attributes' STRUCTURAL MUST ( cn ) MAY sn X-ORIGIN ( 'IPA v4.1.2' 'user defined' ) )")], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### test_ticket47988_6 INFO:lib389:####### INFO:lib389:################################################### ------------------------------ Captured log call -------------------------------
ticket47988_test.py 61 INFO ############################################### ticket47988_test.py 62 INFO ####### ticket47988_test.py 63 INFO ####### test_ticket47988_6 ticket47988_test.py 64 INFO ####### ticket47988_test.py 65 INFO ###################################################
Failed tickets/ticket48013_test.py::test_ticket48013 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38c1a34a8>

def test_ticket48013(topology_st):
'''
Content Synchonization: Test that invalid cookies are caught
'''

cookies = ('#', '##', 'a#a#a', 'a#a#1')

# Enable dynamic plugins
try:
> topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-dynamic-plugins', 'on')])

tickets/ticket48013_test.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bdb30b8>
func = <built-in method modify_ext of LDAP object at 0x7fb38bd4bee0>
args = ('cn=config', [(2, 'nsslapd-dynamic-plugins', 'on')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'o')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48026_test.py::test_ticket48026 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39c403d30>

def test_ticket48026(topology_st):
'''
Test that multiple attribute uniqueness works correctly.
'''
# Configure the plugin
inst = topology_st.standalone
inst.plugins.enable(name=PLUGIN_ATTR_UNIQUENESS)

try:
# This plugin enable / disable doesn't seem to create the nsslapd-pluginId correctly?
inst.modify_s('cn=' + PLUGIN_ATTR_UNIQUENESS + ',cn=plugins,cn=config',
[(ldap.MOD_REPLACE, 'uniqueness-attribute-name', 'mail'),
(ldap.MOD_ADD, 'uniqueness-attribute-name',
> 'mailAlternateAddress'),
])

tickets/ticket48026_test.py:39:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ef79630>
func = <built-in method modify_ext of LDAP object at 0x7fb39ec5a5f8>
args = ('cn=attribute uniqueness,cn=plugins,cn=config', [(2, 'uniqueness-attribute-name', 'mail'), (0, 'uniqueness-attribute-name', 'mailAlternateAddress')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'm')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48109_test.py::test_ticket48109 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38baaa780>

def test_ticket48109(topology_st):
'''
Set SubStr lengths to cn=uid,cn=index,...
objectClass: extensibleObject
nsIndexType: sub
nsSubStrBegin: 2
nsSubStrEnd: 2
'''
log.info('Test case 0')
# add substr setting to UID_INDEX
try:
topology_st.standalone.modify_s(UID_INDEX,
[(ldap.MOD_ADD, 'objectClass', 'extensibleObject'),
(ldap.MOD_ADD, 'nsIndexType', 'sub'),
(ldap.MOD_ADD, 'nsSubStrBegin', '2'),
> (ldap.MOD_ADD, 'nsSubStrEnd', '2')])

tickets/ticket48109_test.py:37:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38baaa358>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13aad0>
args = ('cn=uid,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config', [(0, 'objectClass', 'extensibleObject'), (0, 'nsIndexType', 'sub'), (0, 'nsSubStrBegin', '2'), (0, 'nsSubStrEnd', '2')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'e')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48109_test:Test case 0 ------------------------------ Captured log call -------------------------------
ticket48109_test.py 30 INFO Test case 0
Failed tickets/ticket48170_test.py::test_ticket48170 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39f3284a8>

def test_ticket48170(topology_st):
'''
Attempt to add a nsIndexType wikth an invalid value: "eq,pres"
'''

INDEX_DN = 'cn=cn,cn=index,cn=userroot,cn=ldbm database,cn=plugins,cn=config'
REJECTED = False
try:
> topology_st.standalone.modify_s(INDEX_DN, [(ldap.MOD_ADD, 'nsINdexType', 'eq,pres')])

tickets/ticket48170_test.py:25:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38bf43be0>
func = <built-in method modify_ext of LDAP object at 0x7fb39ef8a288>
args = ('cn=cn,cn=index,cn=userroot,cn=ldbm database,cn=plugins,cn=config', [(0, 'nsINdexType', 'eq,pres')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'e')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48194_test.py::test_init 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_init(topology_st):
"""
Generate self signed cert and import it to the DS cert db.
Enable SSL
"""
_header(topology_st, 'Testing Ticket 48194 - harden the list of ciphers available by default')

> topology_st.standalone.nss_ssl.reinit()

tickets/ticket48194_test.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>, name = 'nss_ssl'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'nss_ssl'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Testing Ticket 48194 - harden the list of ciphers available by default INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Testing Ticket 48194 - harden the list of ciphers available by default ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_0 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_run_0(topology_st):
"""
Check nsSSL3Ciphers: +all
All ciphers are enabled except null.
Note: allowWeakCipher: on
"""
_header(topology_st, 'Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '64')])

tickets/ticket48194_test.py:125:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13d0f8>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '64')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '6')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_1 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_run_1(topology_st):
"""
Check nsSSL3Ciphers: +all
All ciphers are enabled except null.
Note: default allowWeakCipher (i.e., off) for +all
"""
_header(topology_st, 'Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '64')])

tickets/ticket48194_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13d0f8>
args = ('cn=config', [(2, 'nsslapd-errorlog-level', '64')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '6')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 2 - Check the ciphers availability for "+all" with default allowWeakCiphers ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_2 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_run_2(topology_st):
"""
Check nsSSL3Ciphers: +rsa_aes_128_sha,+rsa_aes_256_sha
rsa_aes_128_sha, tls_rsa_aes_128_sha, rsa_aes_256_sha, tls_rsa_aes_256_sha are enabled.
default allowWeakCipher
"""
_header(topology_st,
'Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN,
> [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '+rsa_aes_128_sha,+rsa_aes_256_sha')])

tickets/ticket48194_test.py:169:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13d0f8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+rsa_aes_128_sha,+rsa_aes_256_sha')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '+')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_3 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_run_3(topology_st):
"""
Check nsSSL3Ciphers: -all
All ciphers are disabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 4 - Check the ciphers availability for "-all"')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '-all')])

tickets/ticket48194_test.py:193:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13d0f8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '-all')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '-')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 4 - Check the ciphers availability for "-all" INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 4 - Check the ciphers availability for "-all" ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_4 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_run_4(topology_st):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 5 - Check no nsSSL3Ciphers (-all) with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_DELETE, 'nsSSL3Ciphers', '-all')])

tickets/ticket48194_test.py:215:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13d0f8>
args = ('cn=encryption,cn=config', [(1, 'nsSSL3Ciphers', '-all')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '-')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 5 - Check no nsSSL3Ciphers (-all) with default allowWeakCipher INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 5 - Check no nsSSL3Ciphers (-all) with default allowWeakCipher ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_5 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_run_5(topology_st):
"""
Check nsSSL3Ciphers: default
Default ciphers are enabled.
default allowWeakCipher
"""
_header(topology_st, 'Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', 'default')])

tickets/ticket48194_test.py:237:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13d0f8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', 'default')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'd')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 6 - Check default nsSSL3Ciphers (default setting) with default allowWeakCipher ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_6 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_run_6(topology_st):
"""
Check nsSSL3Ciphers: +all,-TLS_RSA_WITH_AES_256_CBC_SHA256
All ciphers are disabled.
default allowWeakCipher
"""
_header(topology_st,
'Test Case 7 - Check nsSSL3Ciphers: +all,-TLS_RSA_WITH_AES_256_CBC_SHA256 with default allowWeakCipher')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN,
> [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '+all,-TLS_RSA_WITH_AES_256_CBC_SHA256')])

tickets/ticket48194_test.py:261:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13d0f8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+all,-TLS_RSA_WITH_AES_256_CBC_SHA256')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '+')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 7 - Check nsSSL3Ciphers: +all,-TLS_RSA_WITH_AES_256_CBC_SHA256 with default allowWeakCipher INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 7 - Check nsSSL3Ciphers: +all,-TLS_RSA_WITH_AES_256_CBC_SHA256 with default allowWeakCipher ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_8 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_run_8(topology_st):
"""
Check nsSSL3Ciphers: default + allowWeakCipher: off
Strong Default ciphers are enabled.
"""
_header(topology_st, 'Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off)')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', 'default'),
> (ldap.MOD_REPLACE, 'allowWeakCipher', 'off')])

tickets/ticket48194_test.py:284:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13d0f8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', 'default'), (2, 'allowWeakCipher', 'off')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'd')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off) INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 9 - Check default nsSSL3Ciphers (default setting + allowWeakCipher: off) ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_9 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_run_9(topology_st):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
allowWeakCipher: on
nsslapd-errorlog-level: 0
"""
_header(topology_st,
'Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', None),
> (ldap.MOD_REPLACE, 'allowWeakCipher', 'on')])

tickets/ticket48194_test.py:309:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13d0f8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', None), (2, 'allowWeakCipher', 'on')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'o')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48194_test.py::test_run_11 0.10
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ef94978>

def test_run_11(topology_st):
"""
Check nsSSL3Ciphers: +fortezza
SSL_GetImplementedCiphers does not return this as a secuire cipher suite
"""
_header(topology_st, 'Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported')

topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
> topology_st.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3Ciphers', '+fortezza')])

tickets/ticket48194_test.py:331:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38d2125f8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f13d0f8>
args = ('cn=encryption,cn=config', [(2, 'nsSSL3Ciphers', '+fortezza')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '+')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389: ############################################### INFO:lib389:####### Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported INFO:lib389:############################################### ------------------------------ Captured log call -------------------------------
ticket48194_test.py 38 INFO ############################################### ticket48194_test.py 39 INFO ####### Test Case 12 - Check nsSSL3Ciphers: +fortezza, which is not supported ticket48194_test.py 40 INFO ###############################################
Failed tickets/ticket48212_test.py::test_ticket48212 2.12
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39f125710>

def test_ticket48212(topology_st):
"""
Import posixAccount entries.
Index uidNumber
add nsMatchingRule: integerOrderingMatch
run dbverify to see if it reports the db corruption or not
delete nsMatchingRule: integerOrderingMatch
run dbverify to see if it reports the db corruption or not
if no corruption is reported, the bug fix was verified.
"""
log.info(
'Testing Ticket 48212 - Dynamic nsMatchingRule changes had no effect on the attrinfo thus following reindexing, as well.')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

data_dir_path = topology_st.standalone.getDir(__file__, DATA_DIR)
ldif_file = data_dir_path + "ticket48212/" + _MYLDIF
try:
ldif_dir = topology_st.standalone.get_ldif_dir()
shutil.copy(ldif_file, ldif_dir)
ldif_file = ldif_dir + '/' + _MYLDIF
except:
log.fatal('Failed to copy ldif to instance ldif dir')
assert False

topology_st.standalone.log.info(
"\n\n######################### Import Test data (%s) ######################\n" % ldif_file)
args = {TASK_WAIT: True}
importTask = Tasks(topology_st.standalone)
importTask.importLDIF(MYSUFFIX, MYSUFFIXBE, ldif_file, args)
args = {TASK_WAIT: True}

> runDbVerify(topology_st)

tickets/ticket48212_test.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48212_test.py:18: in runDbVerify
sbin_dir = get_sbin_dir(prefix=topology_st.standalone.prefix)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39e7ad6a0>, name = 'prefix'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'prefix'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48212_test:Testing Ticket 48212 - Dynamic nsMatchingRule changes had no effect on the attrinfo thus following reindexing, as well. INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######################### Import Test data (/var/lib/dirsrv/slapd-standalone1/ldif/example1k_posix.ldif) ###################### INFO:lib389:Import task import_06272018_204440 for file /var/lib/dirsrv/slapd-standalone1/ldif/example1k_posix.ldif completed successfully INFO:lib389: +++++ dbverify +++++ ------------------------------ Captured log call -------------------------------
ticket48212_test.py 65 INFO Testing Ticket 48212 - Dynamic nsMatchingRule changes had no effect on the attrinfo thus following reindexing, as well. ticket48212_test.py 68 INFO Bind as cn=Directory Manager ticket48212_test.py 82 INFO ######################### Import Test data (/var/lib/dirsrv/slapd-standalone1/ldif/example1k_posix.ldif) ###################### tasks.py 338 INFO Import task import_06272018_204440 for file /var/lib/dirsrv/slapd-standalone1/ldif/example1k_posix.ldif completed successfully ticket48212_test.py 17 INFO +++++ dbverify +++++
Failed tickets/ticket48214_test.py::test_ticket48214_run 0.11
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ed94a90>

def test_ticket48214_run(topology_st):
"""
Check ldapsearch returns the correct maxbersize when it is not explicitly set.
"""
log.info('Testing Ticket 48214 - ldapsearch on nsslapd-maxbersize returns 0 instead of current value')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

topology_st.standalone.log.info("\n\n######################### Out of Box ######################\n")
checkMaxBerSize(topology_st)

topology_st.standalone.log.info("\n\n######################### Add nsslapd-maxbersize: 0 ######################\n")
> topology_st.standalone.modify_s('cn=config', [(ldap.MOD_REPLACE, 'nsslapd-maxbersize', '0')])

tickets/ticket48214_test.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39f12d550>
func = <built-in method modify_ext of LDAP object at 0x7fb38cdeca58>
args = ('cn=config', [(2, 'nsslapd-maxbersize', '0')], None, None), kwargs = {}
diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '0')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48214_test:Testing Ticket 48214 - ldapsearch on nsslapd-maxbersize returns 0 instead of current value INFO:lib389:Bind as cn=Directory Manager INFO:lib389: ######################### Out of Box ###################### INFO:lib389: +++++ Check Max Ber Size +++++ INFO:lib389: +++++ Get maxbersize from dse.ldif +++++ INFO:lib389: Run CMD: egrep nsslapd-maxbersize /etc/dirsrv/slapd-standalone1/dse.ldif INFO:lib389: Empty: INFO:lib389: No nsslapd-maxbersize found in dse.ldif INFO:lib389: ldapsearch returned nsslapd-maxbersize: b'2097152' INFO:lib389: Checking 2097152 vs 2097152 INFO:lib389: ######################### Add nsslapd-maxbersize: 0 ###################### ------------------------------ Captured log call -------------------------------
ticket48214_test.py 78 INFO Testing Ticket 48214 - ldapsearch on nsslapd-maxbersize returns 0 instead of current value ticket48214_test.py 81 INFO Bind as cn=Directory Manager ticket48214_test.py 84 INFO ######################### Out of Box ###################### ticket48214_test.py 42 INFO +++++ Check Max Ber Size +++++ ticket48214_test.py 16 INFO +++++ Get maxbersize from dse.ldif +++++ ticket48214_test.py 19 INFO Run CMD: egrep nsslapd-maxbersize /etc/dirsrv/slapd-standalone1/dse.ldif ticket48214_test.py 26 INFO Empty: ticket48214_test.py 48 INFO No nsslapd-maxbersize found in dse.ldif ticket48214_test.py 61 INFO ldapsearch returned nsslapd-maxbersize: b'2097152' ticket48214_test.py 70 INFO Checking 2097152 vs 2097152 ticket48214_test.py 87 INFO ######################### Add nsslapd-maxbersize: 0 ######################
Failed tickets/ticket48226_test.py::test_ticket48226_set_purgedelay 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb39ed944a8>

def test_ticket48226_set_purgedelay(topology_m2):
args = {REPLICA_PURGE_DELAY: '5',
REPLICA_PURGE_INTERVAL: '5'}
try:
> topology_m2.ms["master1"].replica.setProperties(DEFAULT_SUFFIX, None, None, args)

tickets/ticket48226_test.py:25:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicaLegacy object at 0x7fb38f2a1a90>
suffix = 'dc=example,dc=com', replica_dn = None, replica_entry = None
properties = {'ReplicaPurgeDelay': '5', 'ReplicaTombstonePurgeInterval': '5'}

def setProperties(self, suffix=None, replica_dn=None, replica_entry=None,
properties=None):
'''
Set the properties of the replica. If an 'replica_entry' (Entry) is
provided, it updates the entry, else it updates the entry on the
server. If the 'replica_dn' is provided it retrieves the entry
using it, else it retrieve the replica using the 'suffix'.

@param suffix : suffix stored in that replica (online update)
@param replica_dn: DN of the replica (online update)
@param replica_entry: Entry of a replica (offline update)
@param properties: dictionary of properties
Supported properties are:
REPLICA_SUFFIX
REPLICA_ID
REPLICA_TYPE
REPLICA_BINDDN
REPLICA_PURGE_DELAY
REPLICA_PRECISE_PURGING
REPLICA_REFERRAL
REPLICA_FLAGS

@return None

@raise ValueError: if unknown properties
ValueError: if invalid replica_entry
ValueError: if replica_dn or suffix are not associated to
a replica

'''

# No properties provided
if len(properties) == 0:
return

# check that the given properties are valid
for prop in properties:
# skip the prefix to add/del value
if not inProperties(prop, REPLICA_PROPNAME_TO_ATTRNAME):
raise ValueError("unknown property: %s" % prop)
else:
self.log.debug("setProperties: %s:%s" %
(prop, properties[prop]))

# At least we need to have suffix/replica_dn/replica_entry
if not suffix and not replica_dn and not replica_entry:
raise InvalidArgumentError("suffix and replica_dn and replica_" +
"entry are missing")

# the caller provides a set of properties to set into a replica entry
if replica_entry:
if not isinstance(replica_entry, Entry):
raise ValueError("invalid instance of the replica_entry")

# that is fine, now set the values
for prop in properties:
val = rawProperty(prop)

# for Entry update it is a replace
replica_entry.update({REPLICA_PROPNAME_TO_ATTRNAME[val]:
properties[prop]})

return

# If it provides the suffix or the replicaDN, replica.list will
# return the appropriate entry
ents = self.conn.replica.list(suffix=suffix, replica_dn=replica_dn)
if len(ents) != 1:
if replica_dn:
raise ValueError("invalid replica DN: %s" % replica_dn)
else:
raise ValueError("invalid suffix: %s" % suffix)

# build the MODS
mods = []
for prop in properties:
# take the operation type from the property name
val = rawProperty(prop)
if str(prop).startswith('+'):
op = ldap.MOD_ADD
elif str(prop).startswith('-'):
op = ldap.MOD_DELETE
else:
op = ldap.MOD_REPLACE

mods.append((op, REPLICA_PROPNAME_TO_ATTRNAME[val],
properties[prop]))

# that is fine now to apply the MOD
> self.conn.modify_s(ents[0].dn, mods)

/usr/local/lib/python3.6/site-packages/lib389/replica.py:266:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')])
kwargs = {}

def inner(*args, **kwargs):
if name == 'result':
objtype, data = f(*args, **kwargs)
# data is either a 2-tuple or a list of 2-tuples
# print data
if data:
if isinstance(data, tuple):
return objtype, Entry(data)
elif isinstance(data, list):
# AD sends back these search references
# if objtype == ldap.RES_SEARCH_RESULT and \
# isinstance(data[-1],tuple) and \
# not data[-1][0]:
# print "Received search reference: "
# pprint.pprint(data[-1][1])
# data.pop() # remove the last non-entry element

return objtype, [Entry(x) for x in data]
else:
raise TypeError("unknown data type %s returned by result" %
type(data))
else:
return objtype, data
elif name.startswith('add'):
# the first arg is self
# the second and third arg are the dn and the data to send
# We need to convert the Entry into the format used by
# python-ldap
ent = args[0]
if isinstance(ent, Entry):
return f(ent.dn, ent.toTupleList(), *args[2:])
else:
return f(*args, **kwargs)
else:
> return f(*args, **kwargs)

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38f2a15c0>
dn = 'cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config'
modlist = [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')]

def modify_s(self,dn,modlist):
> return self.modify_ext_s(dn,modlist,None,None)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')], None, None)
kwargs = {}

def inner(*args, **kwargs):
if name == 'result':
objtype, data = f(*args, **kwargs)
# data is either a 2-tuple or a list of 2-tuples
# print data
if data:
if isinstance(data, tuple):
return objtype, Entry(data)
elif isinstance(data, list):
# AD sends back these search references
# if objtype == ldap.RES_SEARCH_RESULT and \
# isinstance(data[-1],tuple) and \
# not data[-1][0]:
# print "Received search reference: "
# pprint.pprint(data[-1][1])
# data.pop() # remove the last non-entry element

return objtype, [Entry(x) for x in data]
else:
raise TypeError("unknown data type %s returned by result" %
type(data))
else:
return objtype, data
elif name.startswith('add'):
# the first arg is self
# the second and third arg are the dn and the data to send
# We need to convert the Entry into the format used by
# python-ldap
ent = args[0]
if isinstance(ent, Entry):
return f(ent.dn, ent.toTupleList(), *args[2:])
else:
return f(*args, **kwargs)
else:
> return f(*args, **kwargs)

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38f2a15c0>
dn = 'cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config'
modlist = [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')]
serverctrls = None, clientctrls = None

def modify_ext_s(self,dn,modlist,serverctrls=None,clientctrls=None):
> msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')], None, None)
kwargs = {}

def inner(*args, **kwargs):
if name == 'result':
objtype, data = f(*args, **kwargs)
# data is either a 2-tuple or a list of 2-tuples
# print data
if data:
if isinstance(data, tuple):
return objtype, Entry(data)
elif isinstance(data, list):
# AD sends back these search references
# if objtype == ldap.RES_SEARCH_RESULT and \
# isinstance(data[-1],tuple) and \
# not data[-1][0]:
# print "Received search reference: "
# pprint.pprint(data[-1][1])
# data.pop() # remove the last non-entry element

return objtype, [Entry(x) for x in data]
else:
raise TypeError("unknown data type %s returned by result" %
type(data))
else:
return objtype, data
elif name.startswith('add'):
# the first arg is self
# the second and third arg are the dn and the data to send
# We need to convert the Entry into the format used by
# python-ldap
ent = args[0]
if isinstance(ent, Entry):
return f(ent.dn, ent.toTupleList(), *args[2:])
else:
return f(*args, **kwargs)
else:
> return f(*args, **kwargs)

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38f2a15c0>
dn = 'cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config'
modlist = [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')]
serverctrls = None, clientctrls = None

def modify_ext(self,dn,modlist,serverctrls=None,clientctrls=None):
"""
modify_ext(dn, modlist[,serverctrls=None[,clientctrls=None]]) -> int
"""
if PY2:
dn = self._bytesify_input('dn', dn)
modlist = self._bytesify_modlist('modlist', modlist, with_opcode=True)
> return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (<built-in method modify_ext of LDAP object at 0x7fb38be17f58>, 'cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')], None, None)
kwargs = {}

def inner(*args, **kwargs):
if name == 'result':
objtype, data = f(*args, **kwargs)
# data is either a 2-tuple or a list of 2-tuples
# print data
if data:
if isinstance(data, tuple):
return objtype, Entry(data)
elif isinstance(data, list):
# AD sends back these search references
# if objtype == ldap.RES_SEARCH_RESULT and \
# isinstance(data[-1],tuple) and \
# not data[-1][0]:
# print "Received search reference: "
# pprint.pprint(data[-1][1])
# data.pop() # remove the last non-entry element

return objtype, [Entry(x) for x in data]
else:
raise TypeError("unknown data type %s returned by result" %
type(data))
else:
return objtype, data
elif name.startswith('add'):
# the first arg is self
# the second and third arg are the dn and the data to send
# We need to convert the Entry into the format used by
# python-ldap
ent = args[0]
if isinstance(ent, Entry):
return f(ent.dn, ent.toTupleList(), *args[2:])
else:
return f(*args, **kwargs)
else:
> return f(*args, **kwargs)

/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38f2a15c0>
func = <built-in method modify_ext of LDAP object at 0x7fb38be17f58>
args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '5')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError

During handling of the above exception, another exception occurred:

topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb39ed944a8>

def test_ticket48226_set_purgedelay(topology_m2):
args = {REPLICA_PURGE_DELAY: '5',
REPLICA_PURGE_INTERVAL: '5'}
try:
topology_m2.ms["master1"].replica.setProperties(DEFAULT_SUFFIX, None, None, args)
except:
log.fatal('Failed to configure replica')
> assert False
E assert False

tickets/ticket48226_test.py:28: AssertionError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists----------------------------- Captured stderr call -----------------------------
CRITICAL:tests.tickets.ticket48226_test:Failed to configure replica ------------------------------ Captured log call -------------------------------
ticket48226_test.py 27 CRITICAL Failed to configure replica
Failed tickets/ticket48226_test.py::test_ticket48226_1 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb39ed944a8>

def test_ticket48226_1(topology_m2):
name = 'test_entry'
dn = "cn=%s,%s" % (name, SUFFIX)

topology_m2.ms["master1"].add_s(Entry((dn, {'objectclass': "top person".split(),
'sn': name,
'cn': name})))

# First do an update that is replicated
mods = [(ldap.MOD_ADD, 'description', '5')]
> topology_m2.ms["master1"].modify_s(dn, mods)

tickets/ticket48226_test.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38f2a15c0>
func = <built-in method modify_ext of LDAP object at 0x7fb38be17f58>
args = ('cn=test_entry,dc=example,dc=com', [(0, 'description', '5')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '5')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket48233_test.py::test_ticket48233 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38ba56908>

def test_ticket48233(topology_st):
"""Test that ACI's that use IP restrictions do not crash the server at
shutdown
"""

# Add aci to restrict access my ip
aci_text = ('(targetattr != "userPassword")(version 3.0;acl ' +
'"Enable anonymous access - IP"; allow (read,compare,search)' +
'(userdn = "ldap:///anyone") and (ip="127.0.0.1");)')

try:
> topology_st.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_ADD, 'aci', aci_text)])

tickets/ticket48233_test.py:22:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39ed73898>
func = <built-in method modify_ext of LDAP object at 0x7fb38ba53580>
args = ('dc=example,dc=com', [(0, 'aci', '(targetattr != "userPassword")(version 3.0;acl "Enable anonymous access - IP"; allow (read,compare,search)(userdn = "ldap:///anyone") and (ip="127.0.0.1");)')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48252_test.py::test_ticket48252_run_0 3.29
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38f2a4748>

def test_ticket48252_run_0(topology_st):
"""
Delete an entry cn=test_entry0
Check it is not in the 'cn' index file
"""
log.info("Case 1 - Check deleted entry is not in the 'cn' index file")
uas = UserAccounts(topology_st.standalone, DEFAULT_SUFFIX)
del_rdn = "uid=%s0" % TEST_USER
del_entry = uas.get('%s0' % TEST_USER)
log.info(" Deleting a test entry %s..." % del_entry)
del_entry.delete()

> assert in_index_file(topology_st, 0, 'cn') is False

tickets/ticket48252_test.py:78:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7fb38f2a4748>, id = 0
index = 'cn'

def in_index_file(topology_st, id, index):
key = "%s%s" % (TEST_USER, id)
log.info(" dbscan - checking %s is in index file %s..." % (key, index))
dbscanOut = topology_st.standalone.dbscan(DEFAULT_BENAME, index)

> if key in dbscanOut:
E TypeError: a bytes-like object is required, not 'str'

tickets/ticket48252_test.py:56: TypeError
----------------------------- Captured stdout call -----------------------------
OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48252_test:Case 1 - Check deleted entry is not in the 'cn' index file INFO:tests.tickets.ticket48252_test: Deleting a test entry test_user0... INFO:tests.tickets.ticket48252_test: dbscan - checking test_user0 is in index file cn... INFO:lib389:Running script: ['/usr/bin/dbscan', '-f', '/var/lib/dirsrv/slapd-standalone1/db/userRoot/cn.db'] ------------------------------ Captured log call -------------------------------
ticket48252_test.py 71 INFO Case 1 - Check deleted entry is not in the 'cn' index file ticket48252_test.py 75 INFO Deleting a test entry test_user0... ticket48252_test.py 53 INFO dbscan - checking test_user0 is in index file cn... __init__.py 3048 INFO Running script: ['/usr/bin/dbscan', '-f', '/var/lib/dirsrv/slapd-standalone1/db/userRoot/cn.db']
Failed tickets/ticket48252_test.py::test_ticket48252_run_1 0.02
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38f2a4748>

def test_ticket48252_run_1(topology_st):
"""
Delete an entry cn=test_entry1
Check it is in the 'objectclass' index file as a tombstone entry
"""
log.info("Case 2 - Check deleted entry is in the 'objectclass' index file as a tombstone entry")
uas = UserAccounts(topology_st.standalone, DEFAULT_SUFFIX)
del_rdn = "uid=%s1" % TEST_USER
del_entry = uas.get('%s1' % TEST_USER)
log.info(" Deleting a test entry %s..." % del_rdn)
del_entry.delete()

entry = topology_st.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, '(&(objectclass=nstombstone)(%s))' % del_rdn)
assert len(entry) == 1
log.info(" entry %s is in the objectclass index file." % del_rdn)

log.info(" db2index - reindexing %s ..." % 'objectclass')
> assert topology_st.standalone.db2index(DEFAULT_BENAME, 'objectclass')
E AssertionError: assert False
E + where False = <bound method DirSrv.db2index of <lib389.DirSrv object at 0x7fb38f29f4e0>>('userRoot', 'objectclass')
E + where <bound method DirSrv.db2index of <lib389.DirSrv object at 0x7fb38f29f4e0>> = <lib389.DirSrv object at 0x7fb38f29f4e0>.db2index
E + where <lib389.DirSrv object at 0x7fb38f29f4e0> = <lib389.topologies.TopologyMain object at 0x7fb38f2a4748>.standalone

tickets/ticket48252_test.py:105: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48252_test:Case 2 - Check deleted entry is in the 'objectclass' index file as a tombstone entry INFO:tests.tickets.ticket48252_test: Deleting a test entry uid=test_user1... INFO:tests.tickets.ticket48252_test: entry uid=test_user1 is in the objectclass index file. INFO:tests.tickets.ticket48252_test: db2index - reindexing objectclass ... ERROR:lib389:db2index: Can not operate while directory server is running ------------------------------ Captured log call -------------------------------
ticket48252_test.py 93 INFO Case 2 - Check deleted entry is in the 'objectclass' index file as a tombstone entry ticket48252_test.py 97 INFO Deleting a test entry uid=test_user1... ticket48252_test.py 102 INFO entry uid=test_user1 is in the objectclass index file. ticket48252_test.py 104 INFO db2index - reindexing objectclass ... __init__.py 2950 ERROR db2index: Can not operate while directory server is running
Failed tickets/ticket48266_test.py::test_ticket48266_fractional 0.01
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38f29cac8>
entries = None

def test_ticket48266_fractional(topology_m2, entries):
ents = topology_m2.ms["master1"].agreement.list(suffix=SUFFIX)
assert len(ents) == 1

mod = [(ldap.MOD_REPLACE, 'nsDS5ReplicatedAttributeList', ['(objectclass=*) $ EXCLUDE telephonenumber']),
(ldap.MOD_REPLACE, 'nsds5ReplicaStripAttrs', ['modifiersname modifytimestamp'])]
ents = topology_m2.ms["master1"].agreement.list(suffix=SUFFIX)
assert len(ents) == 1
m1_m2_agmt = ents[0].dn
> topology_m2.ms["master1"].modify_s(ents[0].dn, mod)

tickets/ticket48266_test.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38f29c470>
func = <built-in method modify_ext of LDAP object at 0x7fb38cdd3ee0>
args = ('cn=002,cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsDS5ReplicatedAttributeList', ['(...ctclass=*) $ EXCLUDE telephonenumber']), (2, 'nsds5ReplicaStripAttrs', ['modifiersname modifytimestamp'])], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '(objectclass=*) $ EXCLUDE telephonenumber')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.topologies:Joining master master2 to master1 ... INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39002 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working INFO:lib389.replica:SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 INFO:lib389.topologies:Ensuring master master1 to master2 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists INFO:lib389.topologies:Ensuring master master2 to master1 ... INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. topologies.py 139 INFO Creating replication topology. topologies.py 153 INFO Joining master master2 to master1 ... replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39002 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 is was created replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39002 is working replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39002 to ldap://server.example.com:39001 is working replica.py 1530 INFO SUCCESS: joined master from ldap://server.example.com:39001 to ldap://server.example.com:39002 topologies.py 161 INFO Ensuring master master1 to master2 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39002 already exists topologies.py 161 INFO Ensuring master master2 to master1 ... replica.py 1715 INFO SUCCESS: Agreement from ldap://server.example.com:39002 to ldap://server.example.com:39001 already exists
Failed tickets/ticket48266_test.py::test_ticket48266_check_repl_desc 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38f29cac8>
entries = None

def test_ticket48266_check_repl_desc(topology_m2, entries):
name = "cn=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
value = 'check repl. description'
mod = [(ldap.MOD_REPLACE, 'description', value)]
> topology_m2.ms["master1"].modify_s(name, mod)

tickets/ticket48266_test.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38f29c470>
func = <built-in method modify_ext of LDAP object at 0x7fb38cdd3ee0>
args = ('cn=new_account1,dc=example,dc=com', [(2, 'description', 'check repl. description')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'c')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket48266_test.py::test_ticket48266_count_csn_evaluation 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7fb38f29cac8>
entries = None

def test_ticket48266_count_csn_evaluation(topology_m2, entries):
ents = topology_m2.ms["master1"].agreement.list(suffix=SUFFIX)
assert len(ents) == 1
> first_csn = _get_first_not_replicated_csn(topology_m2)

tickets/ticket48266_test.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48266_test.py:116: in _get_first_not_replicated_csn
topology_m2.ms["master1"].modify_s(name, mod)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38f29c470>
func = <built-in method modify_ext of LDAP object at 0x7fb38cdd3ee0>
args = ('cn=new_account2,dc=example,dc=com', [(2, 'telephonenumber', '123456')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '1')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
Failed tickets/ticket48325_test.py::test_ticket48325 0.00
topology_m1h1c1 = <lib389.topologies.TopologyMain object at 0x7fb38d207048>

def test_ticket48325(topology_m1h1c1):
"""
Test that the RUV element order is correctly maintained when promoting
a hub or consumer.
"""

#
# Promote consumer to master
#
try:
> topology_m1h1c1.cs["consumer1"].changelog.create()

tickets/ticket48325_test.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39f01b160>, name = 'changelog'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'changelog'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39101, 'ldap-secureport': 63801, 'server-id': 'hub1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. INFO:lib389.topologies:Creating replication topology. INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39101 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39101 is was created INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39101 is working INFO:lib389.replica:SUCCESS: joined consumer from ldap://server.example.com:39001 to ldap://server.example.com:39101 INFO:lib389.replica:SUCCESS: bootstrap to ldap://server.example.com:39201 completed INFO:lib389.replica:SUCCESS: Agreement from ldap://server.example.com:39101 to ldap://server.example.com:39201 is was created INFO:lib389.replica:SUCCESS: joined consumer from ldap://server.example.com:39101 to ldap://server.example.com:39201 INFO:lib389.replica:SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39201 is working ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39101, 'ldap-secureport': 63801, 'server-id': 'hub1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 106 INFO Instance with parameters {'ldap-port': 39201, 'ldap-secureport': 63901, 'server-id': 'consumer1', 'suffix': 'dc=example,dc=com'} was created. topologies.py 471 INFO Creating replication topology. replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39101 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39001 to ldap://server.example.com:39101 is was created replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39101 is working replica.py 1588 INFO SUCCESS: joined consumer from ldap://server.example.com:39001 to ldap://server.example.com:39101 replica.py 1461 INFO SUCCESS: bootstrap to ldap://server.example.com:39201 completed replica.py 1742 INFO SUCCESS: Agreement from ldap://server.example.com:39101 to ldap://server.example.com:39201 is was created replica.py 1645 INFO SUCCESS: joined consumer from ldap://server.example.com:39101 to ldap://server.example.com:39201 replica.py 1873 INFO SUCCESS: Replication from ldap://server.example.com:39001 to ldap://server.example.com:39201 is working
Failed tickets/ticket48370_test.py::test_ticket48370 0.04
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38d21fc88>

def test_ticket48370(topology_st):
"""
Deleting attirbute values and readding a value does not properly update
the pres index. The values are not actually deleted from the index
"""

DN = 'uid=user0099,' + DEFAULT_SUFFIX

#
# Add an entry
#
topology_st.standalone.add_s(Entry((DN, {
'objectclass': ['top', 'person',
'organizationalPerson',
'inetorgperson',
'posixAccount'],
'givenname': 'test',
'sn': 'user',
'loginshell': '/bin/bash',
'uidNumber': '10099',
'gidNumber': '10099',
'gecos': 'Test User',
'mail': ['user0099@dev.null',
'alias@dev.null',
'user0099@redhat.com'],
'cn': 'Test User',
'homeDirectory': '/home/user0099',
'uid': 'admin2',
'userpassword': 'password'})))

#
# Perform modify (delete & add mail attributes)
#
try:
topology_st.standalone.modify_s(DN, [(ldap.MOD_DELETE,
'mail',
'user0099@dev.null'),
(ldap.MOD_DELETE,
'mail',
'alias@dev.null'),
(ldap.MOD_ADD,
> 'mail', 'user0099@dev.null')])

tickets/ticket48370_test.py:51:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39f1bd588>
func = <built-in method modify_ext of LDAP object at 0x7fb39f025198>
args = ('uid=user0099,dc=example,dc=com', [(1, 'mail', 'user0099@dev.null'), (1, 'mail', 'alias@dev.null'), (0, 'mail', 'user0099@dev.null')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'u')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48383_test.py::test_ticket48383 4.39
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39f02cc50>

def test_ticket48383(topology_st):
"""
This test case will check that we re-alloc buffer sizes on import.c

We achieve this by setting the servers dbcachesize to a stupid small value
and adding huge objects to ds.

Then when we run db2index, either:
* If we are not using the re-alloc code, it will FAIL (Bad)
* If we re-alloc properly, it all works regardless.
"""

topology_st.standalone.config.set('nsslapd-maxbersize', '200000000')
topology_st.standalone.restart()

# Create some stupid huge objects / attributes in DS.
# seeAlso is indexed by default. Lets do that!
# This will take a while ...
> data = [random.choice(string.letters) for x in xrange(10000000)]
E NameError: name 'xrange' is not defined

tickets/ticket48383_test.py:33: NameError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48759_test.py::test_ticket48759 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38ce2afd0>

def test_ticket48759(topology_st):
"""
The fix for ticket 48759 has to prevent plugin calls for tombstone purging

The test uses the memberof and retrocl plugins to verify this.
In tombstone purging without the fix the mmeberof plugin is called,
if the tombstone entry is a group,
it modifies the user entries for the group
and if retrocl is enabled this mod is written to the retrocl

The test sequence is:
- enable replication
- enable memberof and retro cl plugin
- add user entries
- add a group and add the users as members
- verify memberof is set to users
- delete the group
- verify memberof is removed from users
- add group again
- verify memberof is set to users
- get number of changes in retro cl for one user
- configure tombstone purging
- wait for purge interval to pass
- add a dummy entry to increase maxcsn
- wait for purge interval to pass two times
- get number of changes in retro cl for user again
- assert there was no additional change
"""

log.info('Testing Ticket 48759 - no plugin calls for tombstone purging')

#
# Setup Replication
#
log.info('Setting up replication...')
topology_st.standalone.replica.enableReplication(suffix=DEFAULT_SUFFIX, role=ReplicaRole.MASTER,
> replicaId=REPLICAID_MASTER_1)

tickets/ticket48759_test.py:109:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/replica.py:560: in enableReplication
self.conn.changelog.create()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb38ce02390>, name = 'changelog'

def __getattr__(self,name):
if name in self.CLASSATTR_OPTION_MAPPING:
return self.get_option(self.CLASSATTR_OPTION_MAPPING[name])
elif name in self.__dict__:
return self.__dict__[name]
else:
raise AttributeError('%s has no attribute %s' % (
> self.__class__.__name__,repr(name)
))
E AttributeError: DirSrv has no attribute 'changelog'

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:352: AttributeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48759_test:Testing Ticket 48759 - no plugin calls for tombstone purging INFO:tests.tickets.ticket48759_test:Setting up replication... INFO:lib389:List backend with suffix=dc=example,dc=com ------------------------------ Captured log call -------------------------------
ticket48759_test.py 102 INFO Testing Ticket 48759 - no plugin calls for tombstone purging ticket48759_test.py 107 INFO Setting up replication... backend.py 71 INFO List backend with suffix=dc=example,dc=com
Failed tickets/ticket48906_test.py::test_ticket48906_setup 0.12
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ec607f0>

def test_ticket48906_setup(topology_st):
"""
Check there is no core
Create a second backend
stop DS (that should trigger the core)
check there is no core
"""
log.info('Testing Ticket 48906 - ns-slapd crashes during the shutdown after adding attribute with a matching rule')

# bind as directory manager
topology_st.standalone.log.info("Bind as %s" % DN_DM)
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)

# check there is no core
entry = topology_st.standalone.search_s(CONFIG_DN, ldap.SCOPE_BASE, "(cn=config)", ['nsslapd-workingdir'])
assert entry
assert entry[0]
assert entry[0].hasAttr('nsslapd-workingdir')
path = entry[0].getValue('nsslapd-workingdir')
> cores = fnmatch.filter(os.listdir(path), 'core.*')

tickets/ticket48906_test.py:70:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

names = [b'access', b'errors', b'audit.rotationinfo', b'access.rotationinfo', b'audit', b'errors.rotationinfo']
pat = 'core.*'

def filter(names, pat):
"""Return the subset of the list NAMES that match PAT."""
result = []
pat = os.path.normcase(pat)
match = _compile_pattern(pat)
if os.path is posixpath:
# normcase on posix is NOP. Optimize it away from the loop.
for name in names:
> if match(name):
E TypeError: cannot use a string pattern on a bytes-like object

/usr/lib64/python3.6/fnmatch.py:56: TypeError
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48906_test:Testing Ticket 48906 - ns-slapd crashes during the shutdown after adding attribute with a matching rule INFO:lib389:Bind as cn=Directory Manager ------------------------------ Captured log call -------------------------------
ticket48906_test.py 58 INFO Testing Ticket 48906 - ns-slapd crashes during the shutdown after adding attribute with a matching rule ticket48906_test.py 61 INFO Bind as cn=Directory Manager
Failed tickets/ticket48906_test.py::test_ticket48906_dblock_default 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ec607f0>

def test_ticket48906_dblock_default(topology_st):
topology_st.standalone.log.info('###################################')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('### Check that before any change config/monitor')
topology_st.standalone.log.info('### contains the default value')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('###################################')
> _check_monitored_value(topology_st, DBLOCK_DEFAULT)

tickets/ticket48906_test.py:153:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ec607f0>
expected_value = '10000'

def _check_monitored_value(topology_st, expected_value):
entries = topology_st.standalone.search_s(ldbm_monitor, ldap.SCOPE_BASE, '(objectclass=*)')
> assert (entries[0].hasValue(DBLOCK_ATTR_MONITOR) and entries[0].getValue(DBLOCK_ATTR_MONITOR) == expected_value)
E AssertionError: assert (True and b'10000' == '10000')
E + where True = <bound method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n>('nsslapd-db-configured-locks')
E + where <bound method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n> = dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-db-abort-rate: 0\nnsslapd-db-acti...-rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n.hasValue
E + and b'10000' = <bound method Entry.getValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n>('nsslapd-db-configured-locks')
E + where <bound method Entry.getValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n> = dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-db-abort-rate: 0\nnsslapd-db-acti...-rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n.getValue

tickets/ticket48906_test.py:103: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that before any change config/monitor INFO:lib389:### contains the default value INFO:lib389:### INFO:lib389:################################### ------------------------------ Captured log call -------------------------------
ticket48906_test.py 147 INFO ################################### ticket48906_test.py 148 INFO ### ticket48906_test.py 149 INFO ### Check that before any change config/monitor ticket48906_test.py 150 INFO ### contains the default value ticket48906_test.py 151 INFO ### ticket48906_test.py 152 INFO ###################################
Failed tickets/ticket48906_test.py::test_ticket48906_dblock_ldap_update 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ec607f0>

def test_ticket48906_dblock_ldap_update(topology_st):
topology_st.standalone.log.info('###################################')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('### Check that after ldap update')
topology_st.standalone.log.info('### - monitor contains DEFAULT')
topology_st.standalone.log.info('### - configured contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('### - After stop dse.ldif contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('### - After stop guardian contains DEFAULT')
topology_st.standalone.log.info('### In fact guardian should differ from config to recreate the env')
topology_st.standalone.log.info('### Check that after restart (DBenv recreated)')
topology_st.standalone.log.info('### - monitor contains DBLOCK_LDAP_UPDATE ')
topology_st.standalone.log.info('### - configured contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('### - dse.ldif contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('###################################')

> topology_st.standalone.modify_s(ldbm_config, [(ldap.MOD_REPLACE, DBLOCK_ATTR_CONFIG, DBLOCK_LDAP_UPDATE)])

tickets/ticket48906_test.py:173:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:629: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:601: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:598: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39e9b86d8>
func = <built-in method modify_ext of LDAP object at 0x7fb39f1c6918>
args = ('cn=config,cn=ldbm database,cn=plugins,cn=config', [(2, 'nsslapd-db-locks', '20000')], None, None)
kwargs = {}, diagnostic_message_success = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', '2')

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: TypeError
----------------------------- Captured stderr call -----------------------------
INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that after ldap update INFO:lib389:### - monitor contains DEFAULT INFO:lib389:### - configured contains DBLOCK_LDAP_UPDATE INFO:lib389:### - After stop dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### - After stop guardian contains DEFAULT INFO:lib389:### In fact guardian should differ from config to recreate the env INFO:lib389:### Check that after restart (DBenv recreated) INFO:lib389:### - monitor contains DBLOCK_LDAP_UPDATE INFO:lib389:### - configured contains DBLOCK_LDAP_UPDATE INFO:lib389:### - dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### INFO:lib389:################################### ------------------------------ Captured log call -------------------------------
ticket48906_test.py 158 INFO ################################### ticket48906_test.py 159 INFO ### ticket48906_test.py 160 INFO ### Check that after ldap update ticket48906_test.py 161 INFO ### - monitor contains DEFAULT ticket48906_test.py 162 INFO ### - configured contains DBLOCK_LDAP_UPDATE ticket48906_test.py 163 INFO ### - After stop dse.ldif contains DBLOCK_LDAP_UPDATE ticket48906_test.py 164 INFO ### - After stop guardian contains DEFAULT ticket48906_test.py 165 INFO ### In fact guardian should differ from config to recreate the env ticket48906_test.py 166 INFO ### Check that after restart (DBenv recreated) ticket48906_test.py 167 INFO ### - monitor contains DBLOCK_LDAP_UPDATE ticket48906_test.py 168 INFO ### - configured contains DBLOCK_LDAP_UPDATE ticket48906_test.py 169 INFO ### - dse.ldif contains DBLOCK_LDAP_UPDATE ticket48906_test.py 170 INFO ### ticket48906_test.py 171 INFO ###################################
Failed tickets/ticket48906_test.py::test_ticket48906_dblock_edit_update 1.57
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ec607f0>

def test_ticket48906_dblock_edit_update(topology_st):
topology_st.standalone.log.info('###################################')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('### Check that after stop')
topology_st.standalone.log.info('### - dse.ldif contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('### - guardian contains DBLOCK_LDAP_UPDATE')
topology_st.standalone.log.info('### Check that edit dse+restart')
topology_st.standalone.log.info('### - monitor contains DBLOCK_EDIT_UPDATE')
topology_st.standalone.log.info('### - configured contains DBLOCK_EDIT_UPDATE')
topology_st.standalone.log.info('### Check that after stop')
topology_st.standalone.log.info('### - dse.ldif contains DBLOCK_EDIT_UPDATE')
topology_st.standalone.log.info('### - guardian contains DBLOCK_EDIT_UPDATE')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('###################################')

topology_st.standalone.stop(timeout=10)
> _check_dse_ldif_value(topology_st, attr=DBLOCK_ATTR_CONFIG, expected_value=DBLOCK_LDAP_UPDATE)

tickets/ticket48906_test.py:204:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ec607f0>
attr = 'nsslapd-db-locks', expected_value = '20000'

def _check_dse_ldif_value(topology_st, attr=DBLOCK_ATTR_CONFIG, expected_value=DBLOCK_LDAP_UPDATE):
dse_ref_ldif = topology_st.standalone.confdir + '/dse.ldif'
dse_ref = open(dse_ref_ldif, "r")

# Check the DBLOCK in dse.ldif
value = None
while True:
line = dse_ref.readline()
if (line == ''):
break
elif attr in line.lower():
value = line.split()[1]
> assert (value == expected_value)
E AssertionError: assert '10000' == '20000'
E - 10000
E ? ^
E + 20000
E ? ^

tickets/ticket48906_test.py:118: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that after stop INFO:lib389:### - dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### - guardian contains DBLOCK_LDAP_UPDATE INFO:lib389:### Check that edit dse+restart INFO:lib389:### - monitor contains DBLOCK_EDIT_UPDATE INFO:lib389:### - configured contains DBLOCK_EDIT_UPDATE INFO:lib389:### Check that after stop INFO:lib389:### - dse.ldif contains DBLOCK_EDIT_UPDATE INFO:lib389:### - guardian contains DBLOCK_EDIT_UPDATE INFO:lib389:### INFO:lib389:################################### ------------------------------ Captured log call -------------------------------
ticket48906_test.py 189 INFO ################################### ticket48906_test.py 190 INFO ### ticket48906_test.py 191 INFO ### Check that after stop ticket48906_test.py 192 INFO ### - dse.ldif contains DBLOCK_LDAP_UPDATE ticket48906_test.py 193 INFO ### - guardian contains DBLOCK_LDAP_UPDATE ticket48906_test.py 194 INFO ### Check that edit dse+restart ticket48906_test.py 195 INFO ### - monitor contains DBLOCK_EDIT_UPDATE ticket48906_test.py 196 INFO ### - configured contains DBLOCK_EDIT_UPDATE ticket48906_test.py 197 INFO ### Check that after stop ticket48906_test.py 198 INFO ### - dse.ldif contains DBLOCK_EDIT_UPDATE ticket48906_test.py 199 INFO ### - guardian contains DBLOCK_EDIT_UPDATE ticket48906_test.py 200 INFO ### ticket48906_test.py 201 INFO ###################################
Failed tickets/ticket48906_test.py::test_ticket48906_dblock_robust 1.20
topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ec607f0>

def test_ticket48906_dblock_robust(topology_st):
topology_st.standalone.log.info('###################################')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('### Check that the following values are rejected')
topology_st.standalone.log.info('### - negative value')
topology_st.standalone.log.info('### - insuffisant value')
topology_st.standalone.log.info('### - invalid value')
topology_st.standalone.log.info('### Check that minimum value is accepted')
topology_st.standalone.log.info('###')
topology_st.standalone.log.info('###################################')

topology_st.standalone.start(timeout=10)
> _check_monitored_value(topology_st, DBLOCK_EDIT_UPDATE)

tickets/ticket48906_test.py:254:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7fb39ec607f0>
expected_value = '40000'

def _check_monitored_value(topology_st, expected_value):
entries = topology_st.standalone.search_s(ldbm_monitor, ldap.SCOPE_BASE, '(objectclass=*)')
> assert (entries[0].hasValue(DBLOCK_ATTR_MONITOR) and entries[0].getValue(DBLOCK_ATTR_MONITOR) == expected_value)
E AssertionError: assert (True and b'10000' == '40000')
E + where True = <bound method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n>('nsslapd-db-configured-locks')
E + where <bound method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n> = dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-db-abort-rate: 0\nnsslapd-db-acti...-rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n.hasValue
E + and b'10000' = <bound method Entry.getValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n>('nsslapd-db-configured-locks')
E + where <bound method Entry.getValue of dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-...rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n> = dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\nnsslapd-db-abort-rate: 0\nnsslapd-db-acti...-rate: 0\nnsslapd-db-pages-in-use: 8\nnsslapd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n.getValue

tickets/ticket48906_test.py:103: AssertionError
----------------------------- Captured stderr call -----------------------------
INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that the following values are rejected INFO:lib389:### - negative value INFO:lib389:### - insuffisant value INFO:lib389:### - invalid value INFO:lib389:### Check that minimum value is accepted INFO:lib389:### INFO:lib389:################################### ------------------------------ Captured log call -------------------------------
ticket48906_test.py 243 INFO ################################### ticket48906_test.py 244 INFO ### ticket48906_test.py 245 INFO ### Check that the following values are rejected ticket48906_test.py 246 INFO ### - negative value ticket48906_test.py 247 INFO ### - insuffisant value ticket48906_test.py 248 INFO ### - invalid value ticket48906_test.py 249 INFO ### Check that minimum value is accepted ticket48906_test.py 250 INFO ### ticket48906_test.py 251 INFO ###################################
Failed tickets/ticket48961_test.py::test_ticket48961_storagescheme 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38cdca2b0>

def test_ticket48961_storagescheme(topology_st):
"""
Test deleting of the storage scheme.
"""

default = topology_st.standalone.config.get_attr_val('passwordStorageScheme')
# Change it
topology_st.standalone.config.set('passwordStorageScheme', 'CLEAR')
# Now delete it
> topology_st.standalone.config.remove('passwordStorageScheme', None)

tickets/ticket48961_test.py:27:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:282: in remove
self.set(key, value, action=ldap.MOD_DELETE)
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:352: in set
serverctrls=self._server_controls, clientctrls=self._client_controls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:602: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39f1be358>
func = <built-in method result4 of LDAP object at 0x7fb38cdc30f8>
args = (4, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.OPERATIONS_ERROR: {'desc': 'Operations error', 'info': 'passwordStorageScheme: deleting the value is not allowed.'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: OPERATIONS_ERROR
---------------------------- Captured stdout setup -----------------------------
OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup -----------------------------
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. ------------------------------ Captured log setup ------------------------------
topologies.py 106 INFO Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed tickets/ticket48961_test.py::test_ticket48961_deleteall 2.81
topology_st = <lib389.topologies.TopologyMain object at 0x7fb38cdca2b0>

def test_ticket48961_deleteall(topology_st):
"""
Test that we can delete all valid attrs, and that a few are rejected.
"""
attr_to_test = {
'nsslapd-listenhost': 'localhost',
'nsslapd-securelistenhost': 'localhost',
'nsslapd-allowed-sasl-mechanisms': 'GSSAPI',
'nsslapd-svrtab': 'Some bogus data', # This one could reset?
}
attr_to_fail = {
# These are the values that should always be dn dse.ldif too
'nsslapd-localuser': 'dirsrv',
'nsslapd-defaultnamingcontext': 'dc=example,dc=com', # Can't delete
'nsslapd-accesslog': '/opt/dirsrv/var/log/dirsrv/slapd-standalone/access',
'nsslapd-auditlog': '/opt/dirsrv/var/log/dirsrv/slapd-standalone/audit',
'nsslapd-errorlog': '/opt/dirsrv/var/log/dirsrv/slapd-standalone/errors',
'nsslapd-tmpdir': '/tmp',
'nsslapd-rundir': '/opt/dirsrv/var/run/dirsrv',
'nsslapd-bakdir': '/opt/dirsrv/var/lib/dirsrv/slapd-standalone/bak',
'nsslapd-certdir': '/opt/dirsrv/etc/dirsrv/slapd-standalone',
'nsslapd-instancedir': '/opt/dirsrv/lib/dirsrv/slapd-standalone',
'nsslapd-ldifdir': '/opt/dirsrv/var/lib/dirsrv/slapd-standalone/ldif',
'nsslapd-lockdir': '/opt/dirsrv/var/lock/dirsrv/slapd-standalone',
'nsslapd-schemadir': '/opt/dirsrv/etc/dirsrv/slapd-standalone/schema',
'nsslapd-workingdir': '/opt/dirsrv/var/log/dirsrv/slapd-standalone',
'nsslapd-localhost': 'localhost.localdomain',
# These can't be reset, but might be in dse.ldif. Probably in libglobs.
'nsslapd-certmap-basedn': 'cn=certmap,cn=config',
'nsslapd-port': '38931', # Can't delete
'nsslapd-secureport': '636', # Can't delete
'nsslapd-conntablesize': '1048576',
'nsslapd-rootpw': '{SSHA512}...',
# These are hardcoded server magic.
'nsslapd-hash-filters': 'off', # Can't delete
'nsslapd-requiresrestart': 'cn=config:nsslapd-port', # Can't change
'nsslapd-plugin': 'cn=case ignore string syntax,cn=plugins,cn=config', # Can't change
'nsslapd-privatenamespaces': 'cn=schema', # Can't change
'nsslapd-allowed-to-delete-attrs': 'None', # Can't delete
'nsslapd-accesslog-list': 'List!', # Can't delete
'nsslapd-auditfaillog-list': 'List!',
'nsslapd-auditlog-list': 'List!',
'nsslapd-errorlog-list': 'List!',
'nsslapd-config': 'cn=config',
'nsslapd-versionstring': '389-Directory/1.3.6.0',
'objectclass': '',
'cn': '',
# These are the odd values
'nsslapd-backendconfig': 'cn=config,cn=userRoot,cn=ldbm database,cn=plugins,cn=config', # Doesn't exist?
'nsslapd-betype': 'ldbm database', # Doesn't exist?
'nsslapd-connection-buffer': 1, # Has an ldap problem
'nsslapd-malloc-mmap-threshold': '-10', # Defunct anyway
'nsslapd-malloc-mxfast': '-10',
'nsslapd-malloc-trim-threshold': '-10',
'nsslapd-referralmode': '',
'nsslapd-saslpath': '',
'passwordadmindn': '',
}

config_entry = topology_st.standalone.config.raw_entry()

for attr in config_entry.getAttrs():
if attr.lower() in attr_to_fail:
# We know this will fail, so skip
pass
else:
log.info("Reseting %s" % (attr))
# Check if we have to do some override of this attr.
# Some attributes need specific syntax, so we override just these.
newval = topology_st.standalone.config.get_attr_vals(attr)
log.info(" --> %s" % newval)
if attr.lower() in attr_to_test:
newval = attr_to_test[attr]
log.info("override --> %s" % newval)
# We need to set the attr to its own value
# so that it's "written".
topology_st.standalone.config.set(attr, newval)
# Now we can really reset
> _reset_config_value(topology_st.standalone, attr)

tickets/ticket48961_test.py:119:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tickets/ticket48961_test.py:36: in _reset_config_value
inst.config.remove(attrname, None)
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:282: in remove
self.set(key, value, action=ldap.MOD_DELETE)
/usr/local/lib/python3.6/site-packages/lib389/_mapped_object.py:352: in set
serverctrls=self._server_controls, clientctrls=self._client_controls)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:602: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:749: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:756: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.6/site-packages/lib389/__init__.py:167: in inner
return f(*args, **kwargs)
/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:329: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/lib64/python3.6/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7fb39f1be358>
func = <built-in method result4 of LDAP object at 0x7fb38cdc30f8>
args = (712, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None
exc_type = None, exc_value = None, exc_traceback = None

def _ldap_call(self,func,*args,**kwargs):
"""
Wrapper method mainly for serializing calls into OpenLDAP libs
and trace logs
"""
self._ldap_object_lock.acquire()
if __debug__:
if self._trace_level>=1:
self._trace_file.write('*** %s %s - %s\n%s\n' % (
repr(self),
self._uri,
'.'.join((self.__class__.__name__,func.__name__)),
pprint.pformat((args,kwargs))
))
if self._trace_level>=9:
traceback.print_stack(limit=self._trace_stack_limit,file=self._trace_file)
diagnostic_message_success = None
try:
try:
> result = func(*args,**kwargs)
E ldap.OPERATIONS_ERROR: {'desc': 'Operations error', 'info': 'passwordStorageScheme: deleting the value is not allowed.'}

/usr/lib64/python3.6/site-packages/ldap/ldapobject.py:313: OPERATIONS_ERROR
----------------------------- Captured stderr call -----------------------------
INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-mode INFO:tests.tickets.ticket48961_test: --> [b'600'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-mode to b'600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logrotationsync-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logrotationsync-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logrotationsynchour INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logrotationsynchour to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logrotationsyncmin INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logrotationsyncmin to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logrotationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logrotationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-mode INFO:tests.tickets.ticket48961_test: --> [b'600'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-mode to b'600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-maxlogsperdir INFO:tests.tickets.ticket48961_test: --> [b'10'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-maxlogsperdir to b'10' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-level INFO:tests.tickets.ticket48961_test: --> [b'16384'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-level to b'16384' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logging-enabled INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logging-enabled to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-mode INFO:tests.tickets.ticket48961_test: --> [b'600'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-mode to b'600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logexpirationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logexpirationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logging-enabled INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logging-enabled to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-maxthreadsperconn INFO:tests.tickets.ticket48961_test: --> [b'5'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-maxthreadsperconn to b'5' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logexpirationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logexpirationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logrotationsync-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logrotationsync-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logrotationsynchour INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logrotationsynchour to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logrotationsyncmin INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logrotationsyncmin to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logrotationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logrotationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting passwordInHistory INFO:tests.tickets.ticket48961_test: --> [b'6'] INFO:tests.tickets.ticket48961_test:Reset passwordInHistory to b'6' INFO:tests.tickets.ticket48961_test:Reseting passwordUnlock INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset passwordUnlock to b'on' INFO:tests.tickets.ticket48961_test:Reseting passwordGraceLimit INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordGraceLimit to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logrotationsync-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logrotationsync-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logrotationsynchour INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logrotationsynchour to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logrotationsyncmin INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logrotationsyncmin to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logrotationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logrotationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting passwordMustChange INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordMustChange to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-pwpolicy-local INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-pwpolicy-local to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-pwpolicy-inherit-global INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-pwpolicy-inherit-global to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logmaxdiskspace INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logmaxdiskspace to b'100' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-sizelimit INFO:tests.tickets.ticket48961_test: --> [b'2000'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-sizelimit to b'2000' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-maxlogsize INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-maxlogsize to b'100' INFO:tests.tickets.ticket48961_test:Reseting passwordWarning INFO:tests.tickets.ticket48961_test: --> [b'86400'] INFO:tests.tickets.ticket48961_test:Reset passwordWarning to b'86400' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-readonly INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-readonly to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-sasl-mapping-fallback INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-sasl-mapping-fallback to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-threadnumber INFO:tests.tickets.ticket48961_test: --> [b'24'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-threadnumber to b'24' INFO:tests.tickets.ticket48961_test:Reseting passwordLockout INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordLockout to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-enquote-sup-oc INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-enquote-sup-oc to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ioblocktimeout INFO:tests.tickets.ticket48961_test: --> [b'300000'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ioblocktimeout to b'300000' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-max-filter-nest-level INFO:tests.tickets.ticket48961_test: --> [b'40'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-max-filter-nest-level to b'40' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logmaxdiskspace INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logmaxdiskspace to b'100' INFO:tests.tickets.ticket48961_test:Reseting passwordMinLength INFO:tests.tickets.ticket48961_test: --> [b'8'] INFO:tests.tickets.ticket48961_test:Reset passwordMinLength to b'8' INFO:tests.tickets.ticket48961_test:Reseting passwordMinDigits INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinDigits to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMinAlphas INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinAlphas to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMinUppers INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinUppers to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMinLowers INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinLowers to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMinSpecials INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinSpecials to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMin8bit INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMin8bit to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMaxRepeats INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMaxRepeats to b'0' INFO:tests.tickets.ticket48961_test:Reseting passwordMinCategories INFO:tests.tickets.ticket48961_test: --> [b'3'] INFO:tests.tickets.ticket48961_test:Reset passwordMinCategories to b'3' INFO:tests.tickets.ticket48961_test:Reseting passwordMinTokenLength INFO:tests.tickets.ticket48961_test: --> [b'3'] INFO:tests.tickets.ticket48961_test:Reset passwordMinTokenLength to b'3' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logexpirationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logexpirationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-schemacheck INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-schemacheck to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-schemamod INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-schemamod to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-syntaxcheck INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-syntaxcheck to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-syntaxlogging INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-syntaxlogging to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-dn-validate-strict INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-dn-validate-strict to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ds4-compatible-schema INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ds4-compatible-schema to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-schema-ignore-trailing-spaces INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-schema-ignore-trailing-spaces to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-schemareplace INFO:tests.tickets.ticket48961_test: --> [b'replication-only'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-schemareplace to b'replication-only' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logmaxdiskspace INFO:tests.tickets.ticket48961_test: --> [b'500'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logmaxdiskspace to b'500' INFO:tests.tickets.ticket48961_test:Reseting passwordMaxFailure INFO:tests.tickets.ticket48961_test: --> [b'3'] INFO:tests.tickets.ticket48961_test:Reset passwordMaxFailure to b'3' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-lastmod INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-lastmod to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-security INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-security to b'off' INFO:tests.tickets.ticket48961_test:Reseting passwordMaxAge INFO:tests.tickets.ticket48961_test: --> [b'8640000'] INFO:tests.tickets.ticket48961_test:Reset passwordMaxAge to b'8640000' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logrotationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'week'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logrotationtimeunit to b'week' INFO:tests.tickets.ticket48961_test:Reseting passwordResetFailureCount INFO:tests.tickets.ticket48961_test: --> [b'600'] INFO:tests.tickets.ticket48961_test:Reset passwordResetFailureCount to b'600' INFO:tests.tickets.ticket48961_test:Reseting passwordIsGlobalPolicy INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordIsGlobalPolicy to b'off' INFO:tests.tickets.ticket48961_test:Reseting passwordLegacyPolicy INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset passwordLegacyPolicy to b'on' INFO:tests.tickets.ticket48961_test:Reseting passwordTrackUpdateTime INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordTrackUpdateTime to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-maxlogsperdir INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-maxlogsperdir to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logexpirationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'month'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logexpirationtimeunit to b'month' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-groupevalnestlevel INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-groupevalnestlevel to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logexpirationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'month'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logexpirationtimeunit to b'month' INFO:tests.tickets.ticket48961_test:Reseting passwordChange INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset passwordChange to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-level INFO:tests.tickets.ticket48961_test: --> [b'256'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-level to b'256' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logrotationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'week'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logrotationtimeunit to b'week' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-timelimit INFO:tests.tickets.ticket48961_test: --> [b'3600'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-timelimit to b'3600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-maxlogsize INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-maxlogsize to b'100' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-reservedescriptors INFO:tests.tickets.ticket48961_test: --> [b'64'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-reservedescriptors to b'64' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-svrtab INFO:tests.tickets.ticket48961_test: --> [b''] INFO:tests.tickets.ticket48961_test:override --> Some bogus data INFO:tests.tickets.ticket48961_test:Reset nsslapd-svrtab to b'' INFO:tests.tickets.ticket48961_test:Reseting passwordExp INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordExp to b'off' INFO:tests.tickets.ticket48961_test:Reseting passwordSendExpiringTime INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordSendExpiringTime to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesscontrol INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesscontrol to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logrotationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'day'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logrotationtimeunit to b'day' INFO:tests.tickets.ticket48961_test:Reseting passwordLockoutDuration INFO:tests.tickets.ticket48961_test: --> [b'3600'] INFO:tests.tickets.ticket48961_test:Reset passwordLockoutDuration to b'3600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-maxlogsize INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-maxlogsize to b'100' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-idletimeout INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-idletimeout to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-nagle INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-nagle to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-logminfreediskspace INFO:tests.tickets.ticket48961_test: --> [b'5'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-logminfreediskspace to b'5' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logging-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logging-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logging-hide-unhashed-pw INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logging-hide-unhashed-pw to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logbuffering INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logbuffering to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-csnlogging INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-csnlogging to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logexpirationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'month'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logexpirationtimeunit to b'month' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-allow-hashed-passwords INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-allow-hashed-passwords to b'off' INFO:tests.tickets.ticket48961_test:Reseting passwordCheckSyntax INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset passwordCheckSyntax to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-listenhost INFO:tests.tickets.ticket48961_test: --> [b''] INFO:tests.tickets.ticket48961_test:override --> localhost INFO:tests.tickets.ticket48961_test:Reset nsslapd-listenhost to b'' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-snmp-index INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-snmp-index to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapifilepath INFO:tests.tickets.ticket48961_test: --> [b'/var/run/slapd-standalone1.socket'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapifilepath to b'/var/run/ldapi' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapilisten INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapilisten to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapiautobind INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapiautobind to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapimaprootdn INFO:tests.tickets.ticket48961_test: --> [b'cn=Directory Manager'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapimaprootdn to b'cn=Directory Manager' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapimaptoentries INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapimaptoentries to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapiuidnumbertype INFO:tests.tickets.ticket48961_test: --> [b'uidNumber'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapiuidnumbertype to b'uidNumber' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapigidnumbertype INFO:tests.tickets.ticket48961_test: --> [b'gidNumber'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapigidnumbertype to b'gidNumber' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ldapientrysearchbase INFO:tests.tickets.ticket48961_test: --> [b'dc=example,dc=com'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ldapientrysearchbase to b'dc=example,dc=com' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-anonlimitsdn INFO:tests.tickets.ticket48961_test: --> [b''] INFO:tests.tickets.ticket48961_test:Reset nsslapd-anonlimitsdn to b'' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-counters INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-counters to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-accesslog-logminfreediskspace INFO:tests.tickets.ticket48961_test: --> [b'5'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-accesslog-logminfreediskspace to b'5' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-errorlog-maxlogsperdir INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-errorlog-maxlogsperdir to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-securelistenhost INFO:tests.tickets.ticket48961_test: --> [b''] INFO:tests.tickets.ticket48961_test:override --> localhost INFO:tests.tickets.ticket48961_test:Reset nsslapd-securelistenhost to b'' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditlog-logminfreediskspace INFO:tests.tickets.ticket48961_test: --> [b'5'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditlog-logminfreediskspace to b'5' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-rootdn INFO:tests.tickets.ticket48961_test: --> [b'cn=Directory Manager'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-rootdn to b'cn=Directory Manager' INFO:tests.tickets.ticket48961_test:Reseting passwordMinAge INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset passwordMinAge to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-return-exact-case INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-return-exact-case to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-result-tweak INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-result-tweak to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-plugin-binddn-tracking INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-plugin-binddn-tracking to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-moddn-aci INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-moddn-aci to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-attribute-name-exceptions INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-attribute-name-exceptions to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-maxbersize INFO:tests.tickets.ticket48961_test: --> [b'2097152'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-maxbersize to b'2097152' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-maxsasliosize INFO:tests.tickets.ticket48961_test: --> [b'2097152'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-maxsasliosize to b'2097152' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-maxdescriptors INFO:tests.tickets.ticket48961_test: --> [b'1024'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-maxdescriptors to b'1024' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-SSLclientAuth INFO:tests.tickets.ticket48961_test: --> [b'allowed'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-SSLclientAuth to b'allowed' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-rewrite-rfc1274 INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-rewrite-rfc1274 to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-outbound-ldap-io-timeout INFO:tests.tickets.ticket48961_test: --> [b'300000'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-outbound-ldap-io-timeout to b'300000' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-allow-unauthenticated-binds INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-allow-unauthenticated-binds to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-require-secure-binds INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-require-secure-binds to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-allow-anonymous-access INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-allow-anonymous-access to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-localssf INFO:tests.tickets.ticket48961_test: --> [b'71'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-localssf to b'71' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-minssf INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-minssf to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-minssf-exclude-rootdse INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-minssf-exclude-rootdse to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-force-sasl-external INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-force-sasl-external to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-entryusn-global INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-entryusn-global to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-entryusn-import-initval INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-entryusn-import-initval to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-validate-cert INFO:tests.tickets.ticket48961_test: --> [b'warn'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-validate-cert to b'warn' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-pagedsizelimit INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-pagedsizelimit to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-disk-monitoring INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-disk-monitoring to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-disk-monitoring-threshold INFO:tests.tickets.ticket48961_test: --> [b'2097152'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-disk-monitoring-threshold to b'2097152' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-disk-monitoring-grace-period INFO:tests.tickets.ticket48961_test: --> [b'60'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-disk-monitoring-grace-period to b'60' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-disk-monitoring-logging-critical INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-disk-monitoring-logging-critical to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ndn-cache-enabled INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ndn-cache-enabled to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ndn-cache-max-size INFO:tests.tickets.ticket48961_test: --> [b'20971520'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ndn-cache-max-size to b'20971520' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-allowed-sasl-mechanisms INFO:tests.tickets.ticket48961_test: --> [b''] INFO:tests.tickets.ticket48961_test:override --> GSSAPI INFO:tests.tickets.ticket48961_test:Reset nsslapd-allowed-sasl-mechanisms to b'' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ignore-virtual-attrs INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ignore-virtual-attrs to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-unhashed-pw-switch INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-unhashed-pw-switch to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-sasl-max-buffer-size INFO:tests.tickets.ticket48961_test: --> [b'2097152'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-sasl-max-buffer-size to b'2097152' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-search-return-original-type-switch INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-search-return-original-type-switch to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-enable-turbo-mode INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-enable-turbo-mode to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-connection-nocanon INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-connection-nocanon to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-plugin-logging INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-plugin-logging to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-listen-backlog-size INFO:tests.tickets.ticket48961_test: --> [b'128'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-listen-backlog-size to b'128' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-dynamic-plugins INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-dynamic-plugins to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-cn-uses-dn-syntax-in-dns INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-cn-uses-dn-syntax-in-dns to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-ignore-time-skew INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-ignore-time-skew to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-global-backend-lock INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-global-backend-lock to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-maxsimplepaged-per-conn INFO:tests.tickets.ticket48961_test: --> [b'-1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-maxsimplepaged-per-conn to b'-1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-enable-nunc-stans INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-enable-nunc-stans to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-mode INFO:tests.tickets.ticket48961_test: --> [b'600'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-mode to b'600' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logrotationsync-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logrotationsync-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logrotationsynchour INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logrotationsynchour to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logrotationsyncmin INFO:tests.tickets.ticket48961_test: --> [b'0'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logrotationsyncmin to b'0' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logrotationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logrotationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logmaxdiskspace INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logmaxdiskspace to b'100' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-maxlogsize INFO:tests.tickets.ticket48961_test: --> [b'100'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-maxlogsize to b'100' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logexpirationtime INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logexpirationtime to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-maxlogsperdir INFO:tests.tickets.ticket48961_test: --> [b'1'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-maxlogsperdir to b'1' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logging-enabled INFO:tests.tickets.ticket48961_test: --> [b'off'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logging-enabled to b'off' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logging-hide-unhashed-pw INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logging-hide-unhashed-pw to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logexpirationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'month'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logexpirationtimeunit to b'month' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logminfreediskspace INFO:tests.tickets.ticket48961_test: --> [b'5'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logminfreediskspace to b'5' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog-logrotationtimeunit INFO:tests.tickets.ticket48961_test: --> [b'week'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog-logrotationtimeunit to b'week' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-auditfaillog INFO:tests.tickets.ticket48961_test: --> [b'/var/log/dirsrv/slapd-standalone1/audit'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-auditfaillog to b'' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-logging-hr-timestamps-enabled INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-logging-hr-timestamps-enabled to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-extract-pemfiles INFO:tests.tickets.ticket48961_test: --> [b'on'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-extract-pemfiles to b'on' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-logging-backend INFO:tests.tickets.ticket48961_test: --> [b'dirsrv-log'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-logging-backend to b'dirsrv-log' INFO:tests.tickets.ticket48961_test:Reseting nsslapd-tls-check-crl INFO:tests.tickets.ticket48961_test: --> [b'none'] INFO:tests.tickets.ticket48961_test:Reset nsslapd-tls-check-crl to b'none' INFO:tests.tickets.ticket48961_test:Reseting passwordStorageScheme INFO:tests.tickets.ticket48961_test: --> [b'CLEAR'] ------------------------------ Captured log call -------------------------------
ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-mode ticket48961_test.py 111 INFO --> [b'600'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-mode to b'600' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logrotationsync-enabled ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logrotationsync-enabled to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logrotationsynchour ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logrotationsynchour to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logrotationsyncmin ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logrotationsyncmin to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logrotationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logrotationtime to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-mode ticket48961_test.py 111 INFO --> [b'600'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-mode to b'600' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-maxlogsperdir ticket48961_test.py 111 INFO --> [b'10'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-maxlogsperdir to b'10' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-level ticket48961_test.py 111 INFO --> [b'16384'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-level to b'16384' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logging-enabled ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logging-enabled to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-mode ticket48961_test.py 111 INFO --> [b'600'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-mode to b'600' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logexpirationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logexpirationtime to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logging-enabled ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logging-enabled to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-maxthreadsperconn ticket48961_test.py 111 INFO --> [b'5'] ticket48961_test.py 38 INFO Reset nsslapd-maxthreadsperconn to b'5' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logexpirationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logexpirationtime to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logrotationsync-enabled ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logrotationsync-enabled to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logrotationsynchour ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logrotationsynchour to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logrotationsyncmin ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logrotationsyncmin to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logrotationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logrotationtime to b'1' ticket48961_test.py 107 INFO Reseting passwordInHistory ticket48961_test.py 111 INFO --> [b'6'] ticket48961_test.py 38 INFO Reset passwordInHistory to b'6' ticket48961_test.py 107 INFO Reseting passwordUnlock ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset passwordUnlock to b'on' ticket48961_test.py 107 INFO Reseting passwordGraceLimit ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordGraceLimit to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logrotationsync-enabled ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logrotationsync-enabled to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logrotationsynchour ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logrotationsynchour to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logrotationsyncmin ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logrotationsyncmin to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logrotationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logrotationtime to b'1' ticket48961_test.py 107 INFO Reseting passwordMustChange ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordMustChange to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-pwpolicy-local ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-pwpolicy-local to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-pwpolicy-inherit-global ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-pwpolicy-inherit-global to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logmaxdiskspace ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logmaxdiskspace to b'100' ticket48961_test.py 107 INFO Reseting nsslapd-sizelimit ticket48961_test.py 111 INFO --> [b'2000'] ticket48961_test.py 38 INFO Reset nsslapd-sizelimit to b'2000' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-maxlogsize ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-maxlogsize to b'100' ticket48961_test.py 107 INFO Reseting passwordWarning ticket48961_test.py 111 INFO --> [b'86400'] ticket48961_test.py 38 INFO Reset passwordWarning to b'86400' ticket48961_test.py 107 INFO Reseting nsslapd-readonly ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-readonly to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-sasl-mapping-fallback ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-sasl-mapping-fallback to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-threadnumber ticket48961_test.py 111 INFO --> [b'24'] ticket48961_test.py 38 INFO Reset nsslapd-threadnumber to b'24' ticket48961_test.py 107 INFO Reseting passwordLockout ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordLockout to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-enquote-sup-oc ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-enquote-sup-oc to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-ioblocktimeout ticket48961_test.py 111 INFO --> [b'300000'] ticket48961_test.py 38 INFO Reset nsslapd-ioblocktimeout to b'300000' ticket48961_test.py 107 INFO Reseting nsslapd-max-filter-nest-level ticket48961_test.py 111 INFO --> [b'40'] ticket48961_test.py 38 INFO Reset nsslapd-max-filter-nest-level to b'40' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logmaxdiskspace ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logmaxdiskspace to b'100' ticket48961_test.py 107 INFO Reseting passwordMinLength ticket48961_test.py 111 INFO --> [b'8'] ticket48961_test.py 38 INFO Reset passwordMinLength to b'8' ticket48961_test.py 107 INFO Reseting passwordMinDigits ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinDigits to b'0' ticket48961_test.py 107 INFO Reseting passwordMinAlphas ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinAlphas to b'0' ticket48961_test.py 107 INFO Reseting passwordMinUppers ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinUppers to b'0' ticket48961_test.py 107 INFO Reseting passwordMinLowers ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinLowers to b'0' ticket48961_test.py 107 INFO Reseting passwordMinSpecials ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMinSpecials to b'0' ticket48961_test.py 107 INFO Reseting passwordMin8bit ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMin8bit to b'0' ticket48961_test.py 107 INFO Reseting passwordMaxRepeats ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset passwordMaxRepeats to b'0' ticket48961_test.py 107 INFO Reseting passwordMinCategories ticket48961_test.py 111 INFO --> [b'3'] ticket48961_test.py 38 INFO Reset passwordMinCategories to b'3' ticket48961_test.py 107 INFO Reseting passwordMinTokenLength ticket48961_test.py 111 INFO --> [b'3'] ticket48961_test.py 38 INFO Reset passwordMinTokenLength to b'3' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logexpirationtime ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logexpirationtime to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-schemacheck ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-schemacheck to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-schemamod ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-schemamod to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-syntaxcheck ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-syntaxcheck to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-syntaxlogging ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-syntaxlogging to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-dn-validate-strict ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-dn-validate-strict to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-ds4-compatible-schema ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-ds4-compatible-schema to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-schema-ignore-trailing-spaces ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-schema-ignore-trailing-spaces to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-schemareplace ticket48961_test.py 111 INFO --> [b'replication-only'] ticket48961_test.py 38 INFO Reset nsslapd-schemareplace to b'replication-only' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logmaxdiskspace ticket48961_test.py 111 INFO --> [b'500'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logmaxdiskspace to b'500' ticket48961_test.py 107 INFO Reseting passwordMaxFailure ticket48961_test.py 111 INFO --> [b'3'] ticket48961_test.py 38 INFO Reset passwordMaxFailure to b'3' ticket48961_test.py 107 INFO Reseting nsslapd-lastmod ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-lastmod to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-security ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-security to b'off' ticket48961_test.py 107 INFO Reseting passwordMaxAge ticket48961_test.py 111 INFO --> [b'8640000'] ticket48961_test.py 38 INFO Reset passwordMaxAge to b'8640000' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logrotationtimeunit ticket48961_test.py 111 INFO --> [b'week'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logrotationtimeunit to b'week' ticket48961_test.py 107 INFO Reseting passwordResetFailureCount ticket48961_test.py 111 INFO --> [b'600'] ticket48961_test.py 38 INFO Reset passwordResetFailureCount to b'600' ticket48961_test.py 107 INFO Reseting passwordIsGlobalPolicy ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordIsGlobalPolicy to b'off' ticket48961_test.py 107 INFO Reseting passwordLegacyPolicy ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset passwordLegacyPolicy to b'on' ticket48961_test.py 107 INFO Reseting passwordTrackUpdateTime ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordTrackUpdateTime to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-maxlogsperdir ticket48961_test.py 111 INFO --> [b'1'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-maxlogsperdir to b'1' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logexpirationtimeunit ticket48961_test.py 111 INFO --> [b'month'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logexpirationtimeunit to b'month' ticket48961_test.py 107 INFO Reseting nsslapd-groupevalnestlevel ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-groupevalnestlevel to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logexpirationtimeunit ticket48961_test.py 111 INFO --> [b'month'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logexpirationtimeunit to b'month' ticket48961_test.py 107 INFO Reseting passwordChange ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset passwordChange to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-level ticket48961_test.py 111 INFO --> [b'256'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-level to b'256' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logrotationtimeunit ticket48961_test.py 111 INFO --> [b'week'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logrotationtimeunit to b'week' ticket48961_test.py 107 INFO Reseting nsslapd-timelimit ticket48961_test.py 111 INFO --> [b'3600'] ticket48961_test.py 38 INFO Reset nsslapd-timelimit to b'3600' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-maxlogsize ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-maxlogsize to b'100' ticket48961_test.py 107 INFO Reseting nsslapd-reservedescriptors ticket48961_test.py 111 INFO --> [b'64'] ticket48961_test.py 38 INFO Reset nsslapd-reservedescriptors to b'64' ticket48961_test.py 107 INFO Reseting nsslapd-svrtab ticket48961_test.py 111 INFO --> [b''] ticket48961_test.py 114 INFO override --> Some bogus data ticket48961_test.py 38 INFO Reset nsslapd-svrtab to b'' ticket48961_test.py 107 INFO Reseting passwordExp ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordExp to b'off' ticket48961_test.py 107 INFO Reseting passwordSendExpiringTime ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordSendExpiringTime to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-accesscontrol ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-accesscontrol to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logrotationtimeunit ticket48961_test.py 111 INFO --> [b'day'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logrotationtimeunit to b'day' ticket48961_test.py 107 INFO Reseting passwordLockoutDuration ticket48961_test.py 111 INFO --> [b'3600'] ticket48961_test.py 38 INFO Reset passwordLockoutDuration to b'3600' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-maxlogsize ticket48961_test.py 111 INFO --> [b'100'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-maxlogsize to b'100' ticket48961_test.py 107 INFO Reseting nsslapd-idletimeout ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-idletimeout to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-nagle ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-nagle to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-errorlog-logminfreediskspace ticket48961_test.py 111 INFO --> [b'5'] ticket48961_test.py 38 INFO Reset nsslapd-errorlog-logminfreediskspace to b'5' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logging-enabled ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logging-enabled to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logging-hide-unhashed-pw ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logging-hide-unhashed-pw to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-accesslog-logbuffering ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-accesslog-logbuffering to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-csnlogging ticket48961_test.py 111 INFO --> [b'on'] ticket48961_test.py 38 INFO Reset nsslapd-csnlogging to b'on' ticket48961_test.py 107 INFO Reseting nsslapd-auditlog-logexpirationtimeunit ticket48961_test.py 111 INFO --> [b'month'] ticket48961_test.py 38 INFO Reset nsslapd-auditlog-logexpirationtimeunit to b'month' ticket48961_test.py 107 INFO Reseting nsslapd-allow-hashed-passwords ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset nsslapd-allow-hashed-passwords to b'off' ticket48961_test.py 107 INFO Reseting passwordCheckSyntax ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py 38 INFO Reset passwordCheckSyntax to b'off' ticket48961_test.py 107 INFO Reseting nsslapd-listenhost ticket48961_test.py 111 INFO --> [b''] ticket48961_test.py 114 INFO override --> localhost ticket48961_test.py 38 INFO Reset nsslapd-listenhost to b'' ticket48961_test.py 107 INFO Reseting nsslapd-snmp-index ticket48961_test.py 111 INFO --> [b'0'] ticket48961_test.py 38 INFO Reset nsslapd-snmp-index to b'0' ticket48961_test.py 107 INFO Reseting nsslapd-ldapifilepath ticket48961_test.py 111 INFO --> [b'/var/run/slapd-standalone1.socket'] ticket48961_test.py 38 INFO Reset nsslapd-ldapifilepath to b'/var/run/ldapi' ticket48961_test.py 107 INFO Reseting nsslapd-ldapilisten ticket48961_test.py 111 INFO --> [b'off'] ticket48961_test.py