report.html

Report generated on 22-Feb-2020 at 22:46:28 by pytest-html v2.0.1

Environment

389-ds-base 1.4.2.7-1.fc31
Packages {'pytest': '5.3.5', 'py': '1.8.0', 'pluggy': '0.12.0'}
Platform Linux-5.3.15-300.fc31.x86_64-x86_64-with-fedora-31-Thirty_One
Plugins {'metadata': '1.8.0', 'html': '2.0.1'}
Python 3.7.6
cyrus-sasl 2.1.27-2.fc31
nspr 4.24.0-1.fc31
nss 3.49.2-1.fc31
openldap 2.4.47-3.fc31

Summary

1893 tests ran in 12518.84 seconds.

1831 passed, 8 skipped, 36 failed, 36 errors, 20 expected failures, 6 unexpected passes

Results

Result Test Duration Links
Error tickets/ticket49658_test.py::test_ticket49658_init::setup 46.35
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:153 Joining master master3 to master1 ...
Error tickets/ticket49658_test.py::test_ticket49658_0::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_1::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_2::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_3::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_4::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_5::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_6::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_7::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_8::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_9::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_10::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_11::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_12::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_13::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_14::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_15::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_16::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_17::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_18::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_19::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_20::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_21::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_22::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_23::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_24::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_25::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_26::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_27::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_28::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_29::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_30::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_31::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_32::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_33::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Error tickets/ticket49658_test.py::test_ticket49658_34::setup 0.00
request = <SubRequest 'topo' for <Function test_ticket49658_init>>

@pytest.fixture(scope="module")
def topology_m3(request):
"""Create Replication Deployment with three masters"""

> topology = create_topology({ReplicaRole.MASTER: 3})

/usr/local/lib/python3.7/site-packages/lib389/topologies.py:411:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/topologies.py:154: in create_topology
repl.join_master(first_master, m)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:2053: in join_master
self._bootstrap_replica(from_r, to_r, to_instance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicationManager object at 0x7f807b623b10>
from_replica = <lib389.replica.Replica object at 0x7f807b62c850>
to_replica = <lib389.replica.Replica object at 0x7f807b922310>
to_instance = <lib389.DirSrv object at 0x7f807baa5590>

def _bootstrap_replica(self, from_replica, to_replica, to_instance):
"""In the master join process a chicken-egg issues arises
that we require the service account on the target master for
our agreement to be valid, but be can't send it that data without
our service account.

Resolve that issue by "bootstrapping" the database. This creates a
bootstrap replication manager and conducts a one-way total init.
Once complete the bootstrap agreement is removed, and the service
accounts now exist on both ends allowing the join process to continue.

Internal Only.
"""
repl_manager_password = password_generate()
# Create a repl manager on the replica
brm = BootstrapReplicationManager(to_instance)
brm.create(properties={
'cn': brm.common_name,
'userPassword': repl_manager_password
})

to_replica.set('nsDS5ReplicaBindDN', brm.dn)

agmt_name = self._inst_to_agreement_name(to_instance)

# add a temp agreement from A -> B
from_agreements = from_replica.get_agreements()
temp_agmt = from_agreements.create(properties={
'cn': "temp_%s" % agmt_name,
'nsDS5ReplicaRoot': self._suffix,
'nsDS5ReplicaBindDN': brm.dn,
'nsDS5ReplicaBindMethod': 'simple' ,
'nsDS5ReplicaTransportInfo': 'LDAP',
'nsds5replicaTimeout': '5',
'description': "temp_%s" % agmt_name,
'nsDS5ReplicaHost': to_instance.host,
'nsDS5ReplicaPort': str(to_instance.port),
'nsDS5ReplicaCredentials': repl_manager_password,
})
# Do a replica refresh.
temp_agmt.begin_reinit()
(done, error) = temp_agmt.wait_reinit()
> assert done is True
E AssertionError

/usr/local/lib/python3.7/site-packages/lib389/replica.py:1990: AssertionError
Failed suites/auth_token/basic_auth_test.py::test_ldap_auth_token_config 0.01
topology = <lib389.topologies.TopologyMain object at 0x7f808e879d10>

@pytest.mark.skipif(not default_paths.rust_enabled or ds_is_older('1.4.2.0'), reason="Auth tokens are not available in older versions")
def test_ldap_auth_token_config(topology):
""" Test that we are able to configure the ldapssotoken backend with various types and states.

:id: e9b9360b-76df-40ef-9f45-b448df4c9eda

:setup: Standalone instance

:steps:
1. Enable the feature
2. Set a key manually.
3. Regerate a key server side.
4. Attempt to set invalid keys.
5. Disable the feature
6. Assert that key changes are rejected

:expectedresults:
1. Feature enables
2. Key is set and accepted
3. The key is regenerated and unique
4. The key is rejected
5. The disable functions online
6. The key changes are rejected
"""
# Enable token
> topology.standalone.config.set('nsslapd-enable-ldapssotoken', 'on') # enable it.

suites/auth_token/basic_auth_test.py:53:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:449: in set
escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f808ea0e690>
func = <built-in method result4 of LDAP object at 0x7f808e87e630>
args = (3, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'Unknown attribute nsslapd-enable-ldapssotoken will be ignored'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Failed suites/auth_token/basic_auth_test.py::test_ldap_auth_token_nsuser 10.83
topology = <lib389.topologies.TopologyMain object at 0x7f808e879d10>

@pytest.mark.skipif(not default_paths.rust_enabled or ds_is_older('1.4.2.0'), reason="Auth tokens are not available in older versions")
def test_ldap_auth_token_nsuser(topology):
"""
Test that we can generate and authenticate with authentication tokens
for users in the directory, as well as security properties around these
tokens.

:id: 65335341-c85b-457d-ac7d-c4079ac90a60

:setup: Standalone instance

:steps:
1. Create an account
2. Generate a token for the account
3. Authenticate with the token
4. Assert that a token can not be issued from a token-authed account
5. Regenerate the server key
6. Assert the token no longer authenticates

:expectedresults:
1. Account is created
2. Token is generated
3. Token authenticates
4. Token is NOT issued
5. The key is regenerated
6. The token fails to bind.
"""
topology.standalone.enable_tls()
> topology.standalone.config.set('nsslapd-enable-ldapssotoken', 'on') # enable it.

suites/auth_token/basic_auth_test.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:449: in set
escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f808ea0e690>
func = <built-in method result4 of LDAP object at 0x7f808e87ede0>
args = (3, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'Unknown attribute nsslapd-enable-ldapssotoken will be ignored'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
Failed suites/auth_token/basic_auth_test.py::test_ldap_auth_token_disabled 8.54
topology = <lib389.topologies.TopologyMain object at 0x7f808e879d10>

@pytest.mark.skipif(not default_paths.rust_enabled or ds_is_older('1.4.2.0'), reason="Auth tokens are not available in older versions")
def test_ldap_auth_token_disabled(topology):
""" Assert when the feature is disabled that token operations are not able to progress

:id: ccde5d0b-7f2d-49d5-b9d5-f7082f8f36a3

:setup: Standalone instance

:steps:
1. Create a user
2. Attempt to get a token.
3. Enable the feature, get a token, then disable it.
4. Attempt to auth

:expectedresults:
1. Success
2. Fails to get a token
3. Token is received
4. Auth fails as token is disabled.
"""
topology.standalone.enable_tls()
> topology.standalone.config.set('nsslapd-enable-ldapssotoken', 'off') # disable it.

suites/auth_token/basic_auth_test.py:165:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:449: in set
escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f808ea0e690>
func = <built-in method result4 of LDAP object at 0x7f808eb189c0>
args = (3, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'Unknown attribute nsslapd-enable-ldapssotoken will be ignored'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
Failed suites/auth_token/basic_auth_test.py::test_ldap_auth_token_directory_manager 10.78
topology = <lib389.topologies.TopologyMain object at 0x7f808e879d10>

@pytest.mark.skipif(not default_paths.rust_enabled or ds_is_older('1.4.2.0'), reason="Auth tokens are not available in older versions")
def test_ldap_auth_token_directory_manager(topology):
""" Test token auth with directory manager is denied

:id: ec9aec64-3edf-4f3f-853a-7527b0c42124

:setup: Standalone instance

:steps:
1. Attempt to generate a token as DM

:expectedresults:
1. Fails
"""
topology.standalone.enable_tls()
> topology.standalone.config.set('nsslapd-enable-ldapssotoken', 'on') # enable it.

suites/auth_token/basic_auth_test.py:209:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:449: in set
escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f808ea0e690>
func = <built-in method result4 of LDAP object at 0x7f808e447300>
args = (3, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'Unknown attribute nsslapd-enable-ldapssotoken will be ignored'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
Failed suites/auth_token/basic_auth_test.py::test_ldap_auth_token_anonymous 11.27
topology = <lib389.topologies.TopologyMain object at 0x7f808e879d10>

@pytest.mark.skipif(not default_paths.rust_enabled or ds_is_older('1.4.2.0'), reason="Auth tokens are not available in older versions")
def test_ldap_auth_token_anonymous(topology):
""" Test token auth with Anonymous is denied.

:id: 966068c3-fbc6-468d-a554-18d68d1d895b

:setup: Standalone instance

:steps:
1. Attempt to generate a token as Anonymous

:expectedresults:
1. Fails
"""
topology.standalone.enable_tls()
> topology.standalone.config.set('nsslapd-enable-ldapssotoken', 'on') # enable it.

suites/auth_token/basic_auth_test.py:232:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:449: in set
escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f808ea0e690>
func = <built-in method result4 of LDAP object at 0x7f808df696f0>
args = (3, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'Unknown attribute nsslapd-enable-ldapssotoken will be ignored'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
Failed suites/password/pwdPolicy_warning_test.py::test_password_expire_works 0.36
topology_st = <lib389.topologies.TopologyMain object at 0x7f808581c690>

@pytest.mark.bug624080
def test_password_expire_works(topology_st):
"""Regression test for bug624080. If passwordMaxAge is set to a
value and a new user is added, if the passwordMaxAge is changed
to a shorter expiration time and the new users password
is then changed ..... the passwordExpirationTime for the
new user should be changed too. There was a bug in DS 6.2
where the expirationtime remained unchanged.

:id: 1ead6052-4636-11ea-b5af-8c16451d917b
:setup: Standalone
:steps:
1. Set the Global password policy and a passwordMaxAge to 5 days
2. Add the new user
3. Check the users password expiration time now
4. Decrease global passwordMaxAge to 2 days
5. Modify the users password
6. Modify the user one more time to make sur etime has been reset
7. turn off the password policy
:expected results:
1. Success
2. Success
3. Success
4. Success
5. Success
6. Success
7. Success
"""
config = Config(topology_st.standalone)
config.replace_many(('passwordMaxAge', '432000'),
('passwordExp', 'on'))
user = UserAccounts(topology_st.standalone, DEFAULT_SUFFIX, rdn=None).create_test_user()
user.set('userPassword', 'anuj')
expire_time = user.get_attr_val_utf8('passwordExpirationTime')
config.replace('passwordMaxAge', '172800')
user.set('userPassword', 'borah')
expire_time2 = user.get_attr_val_utf8('passwordExpirationTime')
config.replace('passwordMaxAge', '604800')
user.set('userPassword', 'anujagaiin')
expire_time3 = user.get_attr_val_utf8('passwordExpirationTime')
> assert expire_time != expire_time2 != expire_time3
E AssertionError: assert '20200225012359Z' != '20200225012359Z'

suites/password/pwdPolicy_warning_test.py:591: AssertionError
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_specific_time 0.02
topology_st = <lib389.topologies.TopologyMain object at 0x7f8085427e10>
rootdn_setup = None, rootdn_cleanup = None, timeout = 5

def test_rootdn_access_specific_time(topology_st, rootdn_setup, rootdn_cleanup, timeout=5):
"""Test binding inside and outside of a specific time

:id: a0ef30e5-538b-46fa-9762-01a4435a15e8
:setup: Standalone instance, rootdn plugin set up
:steps:
1. Get the current time, and bump it ahead twohours
2. Bind as Root DN
3. Set config to allow the entire day
4. Bind as Root DN
5. Cleanup
:expectedresults:
1. Success
2. Should fail
3. Success
4. Success
5. Success
"""

log.info('Running test_rootdn_access_specific_time...')
dm = DirectoryManager(topology_st.standalone)

# Get the current time, and bump it ahead twohours
current_hour = time.strftime("%H")
if int(current_hour) > 12:
open_time = '0200'
close_time = '0400'
else:
open_time = '1600'
close_time = '1800'

assert plugin.replace_many(('rootdn-open-time', open_time),
('rootdn-close-time', close_time))

attr_updated = 0
for i in range(0, timeout):
if (plugin.get_attr_val_utf8('rootdn-open-time') == open_time) and (plugin.get_attr_val_utf8('rootdn-close-time') == close_time):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-open-time and rootdn-close-time were not updated")

# Bind as Root DN - should fail
with pytest.raises(ldap.UNWILLING_TO_PERFORM):
dm.bind()


# Set config to allow the entire day
open_time = '0000'
close_time = '2359'
assert plugin.replace_many(('rootdn-open-time', open_time),
('rootdn-close-time', close_time))

attr_updated = 0
for i in range(0, timeout):
if (plugin.get_attr_val_utf8('rootdn-open-time') == open_time) and (plugin.get_attr_val_utf8('rootdn-close-time') == close_time):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-open-time and rootdn-close-time were not updated")

# Bind as Root DN - should succeed
> dm.bind()

suites/plugins/rootdn_plugin_test.py:152:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/idm/directorymanager.py:46: in bind
return super(DirectoryManager, self).bind(password, *args, **kwargs)
/usr/local/lib/python3.7/site-packages/lib389/idm/account.py:207: in bind
inst_clone.open(*args, **kwargs)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1079: in open
raise e
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1072: in open
self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f80853f9410>
func = <built-in method result4 of LDAP object at 0x7f80853f0b40>
args = (1, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:61 Initializing root DN test suite... INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:71 test_rootdn_init: Initialized root DN test suite. INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:37 Cleaning up the config area
-------------------------------Captured log call--------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:103 Running test_rootdn_access_specific_time...
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_day_of_week 0.02
topology_st = <lib389.topologies.TopologyMain object at 0x7f8085427e10>
rootdn_setup = None, rootdn_cleanup = None, timeout = 5

def test_rootdn_access_day_of_week(topology_st, rootdn_setup, rootdn_cleanup, timeout=5):
"""Test the days of week feature

:id: a0ef30e5-538b-46fa-9762-01a4435a15e1
:setup: Standalone instance, rootdn plugin set up
:steps:
1. Set the deny days
2. Bind as Root DN
3. Set the allow days
4. Bind as Root DN
:expectedresults:
1. Success
2. Should fail
3. Success
4. Success
"""

log.info('Running test_rootdn_access_day_of_week...')
dm = DirectoryManager(topology_st.standalone)

days = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat')
day = int(time.strftime("%w", time.gmtime()))

if day == 6:
# Handle the roll over from Saturday into Sunday
deny_days = days[1] + ', ' + days[2]
allow_days = days[6] + ',' + days[0]
elif day > 3:
deny_days = days[0] + ', ' + days[1]
allow_days = days[day] + ',' + days[day - 1]
else:
deny_days = days[4] + ',' + days[5]
allow_days = days[day] + ',' + days[day + 1]

log.info('Today: ' + days[day])
log.info('Allowed days: ' + allow_days)
log.info('Deny days: ' + deny_days)

# Set the deny days
plugin.set_days_allowed(deny_days)

attr_updated = 0
for i in range(0, timeout):
if (str(plugin.get_days_allowed()) == deny_days):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-days-allowed was not updated")

# Bind as Root DN - should fail
with pytest.raises(ldap.UNWILLING_TO_PERFORM):
dm.bind()

# Set the allow days
plugin.set_days_allowed(allow_days)

attr_updated = 0
for i in range(0, timeout):
if (str(plugin.get_days_allowed()) == allow_days):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-days-allowed was not updated")

# Bind as Root DN - should succeed
> dm.bind()

suites/plugins/rootdn_plugin_test.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/idm/directorymanager.py:46: in bind
return super(DirectoryManager, self).bind(password, *args, **kwargs)
/usr/local/lib/python3.7/site-packages/lib389/idm/account.py:207: in bind
inst_clone.open(*args, **kwargs)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1079: in open
raise e
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1072: in open
self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f80858bc310>
func = <built-in method result4 of LDAP object at 0x7f8085547ed0>
args = (1, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:37 Cleaning up the config area
-------------------------------Captured log call--------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:176 Running test_rootdn_access_day_of_week... INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:193 Today: Sun INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:194 Allowed days: Sun,Mon INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:195 Deny days: Thu,Fri
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_denied_ip 0.02
topology_st = <lib389.topologies.TopologyMain object at 0x7f8085427e10>
rootdn_setup = None, rootdn_cleanup = None, timeout = 5

def test_rootdn_access_denied_ip(topology_st, rootdn_setup, rootdn_cleanup, timeout=5):
"""Test denied IP feature - we can just test denying 127.0.0.1

:id: a0ef30e5-538b-46fa-9762-01a4435a15e2
:setup: Standalone instance, rootdn plugin set up
:steps:
1. Set rootdn-deny-ip to '127.0.0.1' and '::1'
2. Bind as Root DN
3. Change the denied IP so root DN succeeds
4. Bind as Root DN
:expectedresults:
1. Success
2. Should fail
3. Success
4. Success
"""

log.info('Running test_rootdn_access_denied_ip...')
plugin.add_deny_ip('127.0.0.1')
plugin.add_deny_ip('::1')

attr_updated = 0
for i in range(0, timeout):
if ('127.0.0.1' in str(plugin.get_deny_ip())):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-deny-ip was not updated")

# Bind as Root DN - should fail
uri = 'ldap://{}:{}'.format('127.0.0.1', topology_st.standalone.port)
with pytest.raises(ldap.UNWILLING_TO_PERFORM):
rootdn_bind(topology_st.standalone, uri=uri)

# Change the denied IP so root DN succeeds
plugin.apply_mods([(ldap.MOD_REPLACE, 'rootdn-deny-ip', '255.255.255.255')])

attr_updated = 0
for i in range(0, timeout):
if ('255.255.255.255' in str(plugin.get_deny_ip())):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-deny-ip was not updated")

# Bind as Root DN - should succeed
> rootdn_bind(topology_st.standalone, uri=uri)

suites/plugins/rootdn_plugin_test.py:285:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/plugins/rootdn_plugin_test.py:81: in rootdn_bind
newinst.open(uri=uri, connOnly=True) # This binds as root dn
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1079: in open
raise e
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1072: in open
self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f808595e350>
func = <built-in method result4 of LDAP object at 0x7f80861dc4b0>
args = (1, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:37 Cleaning up the config area
-------------------------------Captured log call--------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:250 Running test_rootdn_access_denied_ip...
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_denied_host 0.02
topology_st = <lib389.topologies.TopologyMain object at 0x7f8085427e10>
rootdn_setup = None, rootdn_cleanup = None, timeout = 5

def test_rootdn_access_denied_host(topology_st, rootdn_setup, rootdn_cleanup, timeout=5):
"""Test denied Host feature - we can just test denying localhost

:id: a0ef30e5-538b-46fa-9762-01a4435a15e3
:setup: Standalone instance, rootdn plugin set up
:steps:
1. Set rootdn-deny-host to hostname (localhost if not accessable)
2. Bind as Root DN
3. Change the denied host so root DN succeeds
4. Bind as Root DN
:expectedresults:
1. Success
2. Should fail
3. Success
4. Success
"""

log.info('Running test_rootdn_access_denied_host...')
hostname = socket.gethostname()
plugin.add_deny_host(hostname)
if localhost != hostname:
plugin.add_deny_host(localhost)

attr_updated = 0
for i in range(0, timeout):
if (str(plugin.get_deny_host()) == hostname) or (str(plugin.get_deny_host()) == localhost):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-deny-host was not updated")

# Bind as Root DN - should fail
uri = 'ldap://{}:{}'.format(localhost, topology_st.standalone.port)
with pytest.raises(ldap.UNWILLING_TO_PERFORM):
rootdn_bind(topology_st.standalone, uri=uri)

# Change the denied host so root DN bind succeeds
rand_host = 'i.dont.exist.{}'.format(uuid.uuid4())
plugin.apply_mods([(ldap.MOD_REPLACE, 'rootdn-deny-host', rand_host)])

attr_updated = 0
for i in range(0, timeout):
if (plugin.get_deny_host() == rand_host):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-deny-host was not updated")

# Bind as Root DN - should succeed
> rootdn_bind(topology_st.standalone, uri=uri)

suites/plugins/rootdn_plugin_test.py:343:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/plugins/rootdn_plugin_test.py:81: in rootdn_bind
newinst.open(uri=uri, connOnly=True) # This binds as root dn
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1079: in open
raise e
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1072: in open
self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f80859f7d90>
func = <built-in method result4 of LDAP object at 0x7f8085375c60>
args = (1, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:37 Cleaning up the config area
-------------------------------Captured log call--------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:305 Running test_rootdn_access_denied_host...
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_allowed_ip 0.02
topology_st = <lib389.topologies.TopologyMain object at 0x7f8085427e10>
rootdn_setup = None, rootdn_cleanup = None, timeout = 5

def test_rootdn_access_allowed_ip(topology_st, rootdn_setup, rootdn_cleanup, timeout=5):
"""Test allowed ip feature

:id: a0ef30e5-538b-46fa-9762-01a4435a15e4
:setup: Standalone instance, rootdn plugin set up
:steps:
1. Set allowed ip to 255.255.255.255 - blocks the Root DN
2. Bind as Root DN
3. Allow localhost
4. Bind as Root DN
:expectedresults:
1. Success
2. Should fail
3. Success
4. Success
"""

log.info('Running test_rootdn_access_allowed_ip...')

# Set allowed ip to 255.255.255.255 - blocks the Root DN
plugin.add_allow_ip('255.255.255.255')

attr_updated = 0
for i in range(0, timeout):
if ('255.255.255.255' in plugin.get_allow_ip()):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-allow-ip was not updated")

# Bind as Root DN - should fail
uri = 'ldap://{}:{}'.format(localhost, topology_st.standalone.port)
with pytest.raises(ldap.UNWILLING_TO_PERFORM):
rootdn_bind(topology_st.standalone, uri=uri)

# Allow localhost
plugin.add_allow_ip('127.0.0.1')
plugin.add_allow_ip('::1')

attr_updated = 0
for i in range(0, timeout):
if ('127.0.0.1' in plugin.get_allow_ip()):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-allow-ip was not updated")

# Bind as Root DN - should succeed
> rootdn_bind(topology_st.standalone, uri=uri)

suites/plugins/rootdn_plugin_test.py:400:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/plugins/rootdn_plugin_test.py:81: in rootdn_bind
newinst.open(uri=uri, connOnly=True) # This binds as root dn
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1079: in open
raise e
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1072: in open
self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f80860a1050>
func = <built-in method result4 of LDAP object at 0x7f80852c85a0>
args = (1, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:37 Cleaning up the config area
-------------------------------Captured log call--------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:363 Running test_rootdn_access_allowed_ip...
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_access_allowed_host 0.02
topology_st = <lib389.topologies.TopologyMain object at 0x7f8085427e10>
rootdn_setup = None, rootdn_cleanup = None, timeout = 5

def test_rootdn_access_allowed_host(topology_st, rootdn_setup, rootdn_cleanup, timeout=5):
"""Test allowed host feature

:id: a0ef30e5-538b-46fa-9762-01a4435a15e5
:setup: Standalone instance, rootdn plugin set up
:steps:
1. Set allowed host to an unknown host - blocks the Root DN
2. Bind as Root DN
3. Allow localhost
4. Bind as Root DN
:expectedresults:
1. Success
2. Should fail
3. Success
4. Success
"""

log.info('Running test_rootdn_access_allowed_host...')

# Set allowed host to an unknown host - blocks the Root DN
rand_host = 'i.dont.exist.{}'.format(uuid.uuid4())
plugin.add_allow_host(rand_host)

attr_updated = 0
for i in range(0, timeout):
if (str(plugin.get_allow_host()) == rand_host):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-allow-host was not updated")

# Bind as Root DN - should fail
uri = 'ldap://{}:{}'.format(localhost, topology_st.standalone.port)
with pytest.raises(ldap.UNWILLING_TO_PERFORM):
rootdn_bind(topology_st.standalone, uri=uri)

# Allow localhost
plugin.remove_all_allow_host()
plugin.add_allow_host(localhost)
if hostname != localhost:
plugin.add_allow_host(hostname)

attr_updated = 0
for i in range(0, timeout):
if (str(plugin.get_allow_host()) == hostname) or (str(plugin.get_allow_host()) == localhost):
attr_updated = 1
break
else:
time.sleep(.5)

if not attr_updated :
raise Exception ("rootdn-allow-host was not updated")

# Bind as Root DN - should succeed
> rootdn_bind(topology_st.standalone, uri=uri)

suites/plugins/rootdn_plugin_test.py:460:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
suites/plugins/rootdn_plugin_test.py:81: in rootdn_bind
newinst.open(uri=uri, connOnly=True) # This binds as root dn
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1079: in open
raise e
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1072: in open
self.simple_bind_s(ensure_str(self.binddn), self.bindpw, escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:446: in simple_bind_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f80853d3e90>
func = <built-in method result4 of LDAP object at 0x7f8084e96150>
args = (1, 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.UNWILLING_TO_PERFORM: {'desc': 'Server is unwilling to perform', 'info': 'RootDN access control violation'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: UNWILLING_TO_PERFORM
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:37 Cleaning up the config area
-------------------------------Captured log call--------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:420 Running test_rootdn_access_allowed_host...
Failed suites/plugins/rootdn_plugin_test.py::test_rootdn_config_validate 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f8085427e10>
rootdn_setup = None, rootdn_cleanup = None

def test_rootdn_config_validate(topology_st, rootdn_setup, rootdn_cleanup):
"""Test plugin configuration validation

:id: a0ef30e5-538b-46fa-9762-01a4435a15e6
:setup: Standalone instance, rootdn plugin set up
:steps:
1. Replace 'rootdn-open-time' with '0000'
2. Add 'rootdn-open-time': '0000' and 'rootdn-open-time': '0001'
3. Replace 'rootdn-open-time' with '-1' and 'rootdn-close-time' with '0000'
4. Replace 'rootdn-open-time' with '2400' and 'rootdn-close-time' with '0000'
5. Replace 'rootdn-open-time' with 'aaaaa' and 'rootdn-close-time' with '0000'
6. Replace 'rootdn-close-time' with '0000'
7. Add 'rootdn-close-time': '0000' and 'rootdn-close-time': '0001'
8. Replace 'rootdn-open-time' with '0000' and 'rootdn-close-time' with '-1'
9. Replace 'rootdn-open-time' with '0000' and 'rootdn-close-time' with '2400'
10. Replace 'rootdn-open-time' with '0000' and 'rootdn-close-time' with 'aaaaa'
11. Add 'rootdn-days-allowed': 'Mon' and 'rootdn-days-allowed': 'Tue'
12. Replace 'rootdn-days-allowed' with 'Mon1'
13. Replace 'rootdn-days-allowed' with 'Tue, Mon1'
14. Replace 'rootdn-days-allowed' with 'm111m'
15. Replace 'rootdn-days-allowed' with 'Gur'
16. Replace 'rootdn-allow-ip' with '12.12.Z.12'
17. Replace 'rootdn-allow-ip' with '123.234.345.456'
18. Replace 'rootdn-allow-ip' with ':::'
19. Replace 'rootdn-deny-ip' with '12.12.Z.12'
20. Replace 'rootdn-deny-ip' with '123.234.345.456'
21. Replace 'rootdn-deny-ip' with ':::'
22. Replace 'rootdn-allow-host' with 'host._.com'
23. Replace 'rootdn-deny-host' with 'host.####.com'
:expectedresults:
1. Should fail
2. Should fail
3. Should fail
4. Should fail
5. Should fail
6. Should fail
7. Should fail
8. Should fail
9. Should fail
10. Should fail
11. Should fail
12. Should fail
13. Should fail
14. Should fail
15. Should fail
16. Should fail
17. Should fail
18. Should fail
19. Should fail
20. Should fail
21. Should fail
22. Should fail
23. Should fail
"""

# Test invalid values for all settings
with pytest.raises(ldap.UNWILLING_TO_PERFORM):
log.info('Add just "rootdn-open-time"')
plugin.apply_mods([(ldap.MOD_REPLACE, 'rootdn-open-time', '0000')])

log.info('Add multiple "rootdn-open-time"')
plugin.apply_mods([(ldap.MOD_ADD, 'rootdn-open-time', '0000'),
> (ldap.MOD_ADD, 'rootdn-open-time', '0001')])

suites/plugins/rootdn_plugin_test.py:525:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:487: in apply_mods
return self._instance.modify_ext_s(self._dn, mod_list, serverctrls=self._server_controls, clientctrls=self._client_controls, escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f80853c4950>
func = <built-in method result4 of LDAP object at 0x7f80853f0db0>
args = (66, 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.TYPE_OR_VALUE_EXISTS: {'desc': 'Type or value exists'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: TYPE_OR_VALUE_EXISTS
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:37 Cleaning up the config area
-------------------------------Captured log call--------------------------------
INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:520 Add just "rootdn-open-time" INFO  tests.suites.plugins.rootdn_plugin_test:rootdn_plugin_test.py:523 Add multiple "rootdn-open-time"
Failed tickets/ticket47973_test.py::test_ticket47973_case 5.06
topology_st = <lib389.topologies.TopologyMain object at 0x7f8084fcac90>

def test_ticket47973_case(topology_st):
log.info('Testing Ticket 47973 (case) - Test the cases in the original schema are preserved.')

log.info('case 1 - Test the cases in the original schema are preserved.')

tsfile = topology_st.standalone.schemadir + '/98test.ldif'
tsfd = open(tsfile, "w")
Mozattr0 = "MoZiLLaaTTRiBuTe"
testschema = "dn: cn=schema\nattributetypes: ( 8.9.10.11.12.13.14 NAME '" + Mozattr0 + "' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'Mozilla Dummy Schema' )\nobjectclasses: ( 1.2.3.4.5.6.7 NAME 'MozillaObject' SUP top MUST ( objectclass $ cn ) MAY ( " + Mozattr0 + " ) X-ORIGIN 'user defined' )"
tsfd.write(testschema)
tsfd.close()

try:
# run the schema reload task with the default schemadir
topology_st.standalone.tasks.schemaReload(schemadir=topology_st.standalone.schemadir,
args={TASK_WAIT: False})
except ValueError:
log.error('Schema Reload task failed.')
assert False

time.sleep(5)

try:
schemaentry = topology_st.standalone.search_s("cn=schema", ldap.SCOPE_BASE,
'objectclass=top',
["objectclasses"])
oclist = schemaentry[0].data.get("objectclasses")
except ldap.LDAPError as e:
log.error('Failed to get schema entry: error (%s)' % e.args[0]['desc'])
raise e

found = 0
for oc in oclist:
log.info('OC: %s' % oc)
moz = re.findall(Mozattr0, oc.decode('utf-8'))
if moz:
found = 1
log.info('case 1: %s is in the objectclasses list -- PASS' % Mozattr0)

if found == 0:
log.error('case 1: %s is not in the objectclasses list -- FAILURE' % Mozattr0)
> assert False
E assert False

tickets/ticket47973_test.py:156: AssertionError
-------------------------------Captured log call--------------------------------
INFO  lib389:tasks.py:1139 Schema Reload task (task-02222020_215146) completed successfully ERROR  tests.tickets.ticket47973_test:ticket47973_test.py:155 case 1: MoZiLLaaTTRiBuTe is not in the objectclasses list -- FAILURE
Failed tickets/ticket47988_test.py::test_ticket47988_init 5.29
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807bc70b90>

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', ensure_bytes(str(8192)))] # REPL
topology_m2.ms["master1"].modify_s(DN_CONFIG, mod)
topology_m2.ms["master2"].modify_s(DN_CONFIG, mod)

mod = [(ldap.MOD_REPLACE, 'nsslapd-accesslog-level', ensure_bytes(str(260)))] # Internal op
topology_m2.ms["master1"].modify_s(DN_CONFIG, mod)
topology_m2.ms["master2"].modify_s(DN_CONFIG, mod)

# add dummy entries
for cpt in range(MAX_OTHERS):
name = "%s%d" % (OTHER_NAME, cpt)
topology_m2.ms["master1"].add_s(Entry(("cn=%s,%s" % (name, SUFFIX), {
'objectclass': "top person".split(),
'sn': name,
'cn': name})))

# check that entry 0 is replicated before
loop = 0
entryDN = "cn=%s0,%s" % (OTHER_NAME, SUFFIX)
while loop <= 10:
try:
ent = topology_m2.ms["master2"].getEntry(entryDN, ldap.SCOPE_BASE, "(objectclass=*)", ['telephonenumber'])
break
except ldap.NO_SUCH_OBJECT:
time.sleep(1)
loop += 1
assert (loop <= 10)

topology_m2.ms["master1"].stop(timeout=10)
topology_m2.ms["master2"].stop(timeout=10)

# install the specific schema M1: ipa3.3, M2: ipa4.1
schema_file = os.path.join(topology_m2.ms["master1"].getDir(__file__, DATA_DIR), "ticket47988/schema_ipa3.3.tar.gz")
_install_schema(topology_m2.ms["master1"], schema_file)
schema_file = os.path.join(topology_m2.ms["master1"].getDir(__file__, DATA_DIR), "ticket47988/schema_ipa4.1.tar.gz")
_install_schema(topology_m2.ms["master2"], schema_file)

> topology_m2.ms["master1"].start(timeout=10)

/export/tests/tickets/ticket47988_test.py:157:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:1135: in start
"dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

popenargs = (['systemctl', 'start', 'dirsrv@master1'],), kwargs = {}
retcode = 1, cmd = ['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 '['systemctl', 'start', 'dirsrv@master1']' returned non-zero exit status 1.

/usr/lib64/python3.7/subprocess.py:363: CalledProcessError
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists
------------------------------Captured stderr call------------------------------
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--------------------------------
INFO  lib389:ticket47988_test.py:64 ############################################### INFO  lib389:ticket47988_test.py:65 ####### INFO  lib389:ticket47988_test.py:66 ####### test_ticket47988_init INFO  lib389:ticket47988_test.py:67 ####### INFO  lib389:ticket47988_test.py:68 ################################################### INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/02common.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-admin.ldif INFO  lib389:ticket47988_test.py:98 replace /etc/dirsrv/slapd-master1/schema/99user.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60nss-ldap.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60autofs.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-web.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60samba.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/10dna-plugin.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/05rfc4523.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60basev2.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/10automember-plugin.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/05rfc2927.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/10mep-plugin.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60ipadns.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/10rfc2307.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-mail.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/05rfc4524.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60trust.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60ipaconfig.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-directory.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60eduperson.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60mozilla.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/65ipasudo.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60rfc3712.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60rfc2739.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-value.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60acctpolicy.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/01core389.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60sabayon.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60pam-plugin.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/00core.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/25java-object.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60sudo.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/70ipaotp.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60pureftpd.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/61kerberos-ipav3.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60kerberos.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60basev3.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/06inetorgperson.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/30ns-common.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/28pilot.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/20subscriber.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/50ns-certificate.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master1/schema/60posix-winsync-plugin.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/02common.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-admin.ldif INFO  lib389:ticket47988_test.py:98 replace /etc/dirsrv/slapd-master2/schema/99user.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60nss-ldap.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60autofs.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-web.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60samba.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/10dna-plugin.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/05rfc4523.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60basev2.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/10automember-plugin.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/05rfc2927.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/10mep-plugin.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60ipadns.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/10rfc2307.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-mail.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/05rfc4524.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60trust.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60ipaconfig.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-directory.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60eduperson.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60mozilla.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/65ipasudo.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60rfc3712.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60rfc2739.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-value.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60acctpolicy.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/01core389.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60sabayon.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60pam-plugin.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/00core.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/25java-object.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60sudo.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/70ipaotp.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60pureftpd.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/61kerberos-ipav3.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60kerberos.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60basev3.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/06inetorgperson.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/30ns-common.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/28pilot.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/20subscriber.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/50ns-certificate.ldif INFO  lib389:ticket47988_test.py:102 add /etc/dirsrv/slapd-master2/schema/60posix-winsync-plugin.ldif
Failed tickets/ticket47988_test.py::test_ticket47988_1 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807bc70b90>

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)

/export/tests/tickets/ticket47988_test.py:234:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/export/tests/tickets/ticket47988_test.py:184: in _do_update_entry
supplier.modify_s(entryDN, mod)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807bc50650>
func = <built-in method result4 of LDAP object at 0x7f807bbf8450>
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.SERVER_DOWN: {'desc': "Can't contact LDAP server"}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN
-------------------------------Captured log call--------------------------------
INFO  lib389:ticket47988_test.py:64 ############################################### INFO  lib389:ticket47988_test.py:65 ####### INFO  lib389:ticket47988_test.py:66 ####### test_ticket47988_1 INFO  lib389:ticket47988_test.py:67 ####### INFO  lib389:ticket47988_test.py:68 ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_2 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807bc70b90>

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()

/export/tests/tickets/ticket47988_test.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/schema.py:605: in get_schema_csn
"objectclass=*", ['nsSchemaCSN'])
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:854: in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:848: in search_ext_s
return self.result(msgid,all=1,timeout=timeout)[1]
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:148: in inner
objtype, data = f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:740: in result
resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:744: in result2
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807bbfb8d0>
func = <built-in method result4 of LDAP object at 0x7f807bbf8990>
args = (64, 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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN
-------------------------------Captured log call--------------------------------
INFO  lib389:ticket47988_test.py:64 ############################################### INFO  lib389:ticket47988_test.py:65 ####### INFO  lib389:ticket47988_test.py:66 ####### test_ticket47988_2 INFO  lib389:ticket47988_test.py:67 ####### INFO  lib389:ticket47988_test.py:68 ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_3 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807bc70b90>

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)

/export/tests/tickets/ticket47988_test.py:283:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/export/tests/tickets/ticket47988_test.py:222: in _resume_M2_to_M1
ents = topology_m2.ms["master2"].agreement.list(suffix=SUFFIX)
/usr/local/lib/python3.7/site-packages/lib389/agreement.py:899: in list
replica_entries = self.conn.replica.list(suffix)
/usr/local/lib/python3.7/site-packages/lib389/replica.py:178: in list
ents = self.conn.search_s(base, ldap.SCOPE_SUBTREE, filtr)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:854: in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:847: in search_ext_s
msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:843: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807bc50650>
func = <built-in method search_ext of LDAP object at 0x7f807bbf8450>
args = ('cn=mapping tree,cn=config', 2, '(&(objectclass=nsds5Replica)(nsDS5ReplicaRoot=dc=example,dc=com))', None, 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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN
-------------------------------Captured log call--------------------------------
INFO  lib389:ticket47988_test.py:64 ############################################### INFO  lib389:ticket47988_test.py:65 ####### INFO  lib389:ticket47988_test.py:66 ####### test_ticket47988_3 INFO  lib389:ticket47988_test.py:67 ####### INFO  lib389:ticket47988_test.py:68 ################################################### INFO  lib389:ticket47988_test.py:221 ######################### resume RA M2->M1 ######################
Failed tickets/ticket47988_test.py::test_ticket47988_4 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807bc70b90>

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()

/export/tests/tickets/ticket47988_test.py:295:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/schema.py:605: in get_schema_csn
"objectclass=*", ['nsSchemaCSN'])
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:854: in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:847: in search_ext_s
msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:843: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807bbfb8d0>
func = <built-in method search_ext of LDAP object at 0x7f807bbf8990>
args = ('cn=schema', 0, 'objectclass=*', ['nsSchemaCSN'], 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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN
-------------------------------Captured log call--------------------------------
INFO  lib389:ticket47988_test.py:64 ############################################### INFO  lib389:ticket47988_test.py:65 ####### INFO  lib389:ticket47988_test.py:66 ####### test_ticket47988_4 INFO  lib389:ticket47988_test.py:67 ####### INFO  lib389:ticket47988_test.py:68 ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_5 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807bc70b90>

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)

/export/tests/tickets/ticket47988_test.py:313:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/export/tests/tickets/ticket47988_test.py:184: in _do_update_entry
supplier.modify_s(entryDN, mod)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:603: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:600: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807bbfb8d0>
func = <built-in method modify_ext of LDAP object at 0x7f807bbf8990>
args = ('cn=other_entry0,dc=example,dc=com', [(2, 'telephonenumber', b'191')], None, 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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN
-------------------------------Captured log call--------------------------------
INFO  lib389:ticket47988_test.py:64 ############################################### INFO  lib389:ticket47988_test.py:65 ####### INFO  lib389:ticket47988_test.py:66 ####### test_ticket47988_5 INFO  lib389:ticket47988_test.py:67 ####### INFO  lib389:ticket47988_test.py:68 ###################################################
Failed tickets/ticket47988_test.py::test_ticket47988_6 0.00
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807bc70b90>

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()

/export/tests/tickets/ticket47988_test.py:336:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/schema.py:605: in get_schema_csn
"objectclass=*", ['nsSchemaCSN'])
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:854: in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:847: in search_ext_s
msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:843: in search_ext
timeout,sizelimit,
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807bbfb8d0>
func = <built-in method search_ext of LDAP object at 0x7f807bbf8990>
args = ('cn=schema', 0, 'objectclass=*', ['nsSchemaCSN'], 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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: SERVER_DOWN
-------------------------------Captured log call--------------------------------
INFO  lib389:ticket47988_test.py:64 ############################################### INFO  lib389:ticket47988_test.py:65 ####### INFO  lib389:ticket47988_test.py:66 ####### test_ticket47988_6 INFO  lib389:ticket47988_test.py:67 ####### INFO  lib389:ticket47988_test.py:68 ###################################################
Failed tickets/ticket48005_test.py::test_ticket48005_usn 4.92
topology_st = <lib389.topologies.TopologyMain object at 0x7f80842f7490>

def test_ticket48005_usn(topology_st):
'''
Enable entryusn
Delete all user entries.
Run USN tombstone cleanup task
Shutdown the server
Check if a core file was generated or not
If no core was found, this test case was successful.
'''
log.info("Ticket 48005 usn test...")
topology_st.standalone.plugins.enable(name=PLUGIN_USN)

topology_st.standalone.restart(timeout=10)

try:
> entries = topology_st.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, "(objectclass=inetorgperson)")

/export/tests/tickets/ticket48005_test.py:283:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:854: in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:848: in search_ext_s
return self.result(msgid,all=1,timeout=timeout)[1]
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:148: in inner
objtype, data = f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:740: in result
resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:744: in result2
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f80842e5b10>
func = <built-in method result4 of LDAP object at 0x7f807bbf8360>
args = (3, 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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: NO_SUCH_OBJECT
-------------------------------Captured log call--------------------------------
INFO  tests.tickets.ticket48005_test:ticket48005_test.py:277 Ticket 48005 usn test...
Failed tickets/ticket48194_test.py::test_run_0 4.67
topology_st = <lib389.topologies.TopologyMain object at 0x7f807bbc96d0>

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', b'64')])

log.info("\n######################### Restarting the server ######################\n")
topology_st.standalone.restart(timeout=120)

> connectWithOpenssl(topology_st, 'DES-CBC3-SHA', True)

/export/tests/tickets/ticket48194_test.py:134:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7f807bbc96d0>
cipher = 'DES-CBC3-SHA', expect = True

def connectWithOpenssl(topology_st, cipher, expect):
"""
Connect with the given cipher
Condition:
If expect is True, the handshake should be successful.
If expect is False, the handshake should be refused with
access log: "Cannot communicate securely with peer:
no common encryption algorithm(s)."
"""
log.info("Testing %s -- expect to handshake %s", cipher, "successfully" if expect else "failed")

myurl = 'localhost:%s' % LDAPSPORT
cmdline = ['/usr/bin/openssl', 's_client', '-connect', myurl, '-cipher', cipher]

strcmdline = " ".join(cmdline)
log.info("Running cmdline: %s", strcmdline)

try:
proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT)
except ValueError:
log.info("%s failed: %s", cmdline, ValueError)
proc.kill()

while True:
l = proc.stdout.readline()
if l == b"":
break
if b'Cipher is' in l:
log.info("Found: %s", l)
if expect:
if b'(NONE)' in l:
> assert False
E assert False

/export/tests/tickets/ticket48194_test.py:108: AssertionError
-------------------------------Captured log call--------------------------------
INFO  lib389:ticket48194_test.py:40 ############################################### INFO  lib389:ticket48194_test.py:41 ####### Test Case 1 - Check the ciphers availability for "+all"; allowWeakCipher: on INFO  lib389:ticket48194_test.py:42 ############################################### INFO  lib389.utils:ticket48194_test.py:131 ######################### Restarting the server ###################### INFO  lib389.utils:ticket48194_test.py:86 Testing DES-CBC3-SHA -- expect to handshake successfully INFO  lib389.utils:ticket48194_test.py:92 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher DES-CBC3-SHA INFO  lib389.utils:ticket48194_test.py:105 Found: b'New, (NONE), Cipher is (NONE)\n'
Failed tickets/ticket48194_test.py::test_run_2 6.72
topology_st = <lib389.topologies.TopologyMain object at 0x7f807bbc96d0>

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', b'+rsa_aes_128_sha,+rsa_aes_256_sha')])

log.info("\n######################### Restarting the server ######################\n")
topology_st.standalone.stop(timeout=10)
os.system('mv %s %s.48194_1' % (topology_st.standalone.errlog, topology_st.standalone.errlog))
os.system('touch %s' % (topology_st.standalone.errlog))
time.sleep(2)
topology_st.standalone.start(timeout=120)

connectWithOpenssl(topology_st, 'DES-CBC3-SHA', False)
connectWithOpenssl(topology_st, 'AES256-SHA256', False)
> connectWithOpenssl(topology_st, 'AES128-SHA', True)

/export/tests/tickets/ticket48194_test.py:184:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7f807bbc96d0>
cipher = 'AES128-SHA', expect = True

def connectWithOpenssl(topology_st, cipher, expect):
"""
Connect with the given cipher
Condition:
If expect is True, the handshake should be successful.
If expect is False, the handshake should be refused with
access log: "Cannot communicate securely with peer:
no common encryption algorithm(s)."
"""
log.info("Testing %s -- expect to handshake %s", cipher, "successfully" if expect else "failed")

myurl = 'localhost:%s' % LDAPSPORT
cmdline = ['/usr/bin/openssl', 's_client', '-connect', myurl, '-cipher', cipher]

strcmdline = " ".join(cmdline)
log.info("Running cmdline: %s", strcmdline)

try:
proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT)
except ValueError:
log.info("%s failed: %s", cmdline, ValueError)
proc.kill()

while True:
l = proc.stdout.readline()
if l == b"":
break
if b'Cipher is' in l:
log.info("Found: %s", l)
if expect:
if b'(NONE)' in l:
> assert False
E assert False

/export/tests/tickets/ticket48194_test.py:108: AssertionError
-------------------------------Captured log call--------------------------------
INFO  lib389:ticket48194_test.py:40 ############################################### INFO  lib389:ticket48194_test.py:41 ####### Test Case 3 - Check the ciphers availability for "+rsa_aes_128_sha,+rsa_aes_256_sha" with default allowWeakCipher INFO  lib389:ticket48194_test.py:42 ############################################### INFO  lib389.utils:ticket48194_test.py:175 ######################### Restarting the server ###################### INFO  lib389.utils:ticket48194_test.py:86 Testing DES-CBC3-SHA -- expect to handshake failed INFO  lib389.utils:ticket48194_test.py:92 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher DES-CBC3-SHA INFO  lib389.utils:ticket48194_test.py:105 Found: b'New, (NONE), Cipher is (NONE)\n' INFO  lib389.utils:ticket48194_test.py:86 Testing AES256-SHA256 -- expect to handshake failed INFO  lib389.utils:ticket48194_test.py:92 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher AES256-SHA256 INFO  lib389.utils:ticket48194_test.py:105 Found: b'New, (NONE), Cipher is (NONE)\n' INFO  lib389.utils:ticket48194_test.py:86 Testing AES128-SHA -- expect to handshake successfully INFO  lib389.utils:ticket48194_test.py:92 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher AES128-SHA INFO  lib389.utils:ticket48194_test.py:105 Found: b'New, (NONE), Cipher is (NONE)\n'
Failed tickets/ticket48194_test.py::test_run_9 6.60
topology_st = <lib389.topologies.TopologyMain object at 0x7f807bbc96d0>

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', b'on')])
topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', None)])

log.info("\n######################### Restarting the server ######################\n")
topology_st.standalone.stop(timeout=10)
os.system('mv %s %s.48194_8' % (topology_st.standalone.errlog, topology_st.standalone.errlog))
os.system('touch %s' % (topology_st.standalone.errlog))
time.sleep(2)
topology_st.standalone.start(timeout=120)

> connectWithOpenssl(topology_st, 'DES-CBC3-SHA', True)

/export/tests/tickets/ticket48194_test.py:323:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology_st = <lib389.topologies.TopologyMain object at 0x7f807bbc96d0>
cipher = 'DES-CBC3-SHA', expect = True

def connectWithOpenssl(topology_st, cipher, expect):
"""
Connect with the given cipher
Condition:
If expect is True, the handshake should be successful.
If expect is False, the handshake should be refused with
access log: "Cannot communicate securely with peer:
no common encryption algorithm(s)."
"""
log.info("Testing %s -- expect to handshake %s", cipher, "successfully" if expect else "failed")

myurl = 'localhost:%s' % LDAPSPORT
cmdline = ['/usr/bin/openssl', 's_client', '-connect', myurl, '-cipher', cipher]

strcmdline = " ".join(cmdline)
log.info("Running cmdline: %s", strcmdline)

try:
proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT)
except ValueError:
log.info("%s failed: %s", cmdline, ValueError)
proc.kill()

while True:
l = proc.stdout.readline()
if l == b"":
break
if b'Cipher is' in l:
log.info("Found: %s", l)
if expect:
if b'(NONE)' in l:
> assert False
E assert False

/export/tests/tickets/ticket48194_test.py:108: AssertionError
-------------------------------Captured log call--------------------------------
INFO  lib389:ticket48194_test.py:40 ############################################### INFO  lib389:ticket48194_test.py:41 ####### Test Case 10 - Check no nsSSL3Ciphers (default setting) with no errorlog-level & allowWeakCipher on INFO  lib389:ticket48194_test.py:42 ############################################### INFO  lib389.utils:ticket48194_test.py:316 ######################### Restarting the server ###################### INFO  lib389.utils:ticket48194_test.py:86 Testing DES-CBC3-SHA -- expect to handshake successfully INFO  lib389.utils:ticket48194_test.py:92 Running cmdline: /usr/bin/openssl s_client -connect localhost:63601 -cipher DES-CBC3-SHA INFO  lib389.utils:ticket48194_test.py:105 Found: b'New, (NONE), Cipher is (NONE)\n'
Failed tickets/ticket48226_test.py::test_ticket48226_set_purgedelay 0.01
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807b767b90>

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)

/export/tests/tickets/ticket48226_test.py:27:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.replica.ReplicaLegacy object at 0x7f807b76b610>
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.7/site-packages/lib389/replica.py:270:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsds5ReplicaPurgeDelay', '5'), (2, 'nsds5ReplicaTombstonePurgeInterval', '5')])
kwargs = {}
c_stack = [FrameInfo(frame=<frame at 0x55e8dfaf3c00, file '/usr/local/lib/python3.7/site-packages/lib389/__init__.py', line 180,..., code_context=[' firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,\n'], index=0), ...]
frame = FrameInfo(frame=<frame at 0x55e8e03c98b0, file '/usr/local/lib/python3.7/site-packages/lib389/replica.py', line 270, c...ca.py', lineno=270, function='setProperties', code_context=[' self.conn.modify_s(ents[0].dn, mods)\n'], index=0)

def inner(*args, **kwargs):
if name in [
'add_s',
'bind_s',
'delete_s',
'modify_s',
'modrdn_s',
'rename_s',
'sasl_interactive_bind_s',
'search_s',
'search_ext_s',
'simple_bind_s',
'unbind_s',
'getEntry',
] and not ('escapehatch' in kwargs and kwargs['escapehatch'] == 'i am sure'):
c_stack = inspect.stack()
frame = c_stack[1]

warnings.warn(DeprecationWarning("Use of raw ldap function %s. This will be removed in a future release. "
"Found in: %s:%s" % (name, frame.filename, frame.lineno)))
# Later, we will add a sleep here to make it even more painful.
# Finally, it will raise an exception.
elif 'escapehatch' in kwargs:
kwargs.pop('escapehatch')

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.7/site-packages/lib389/__init__.py:180:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807b735a10>
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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

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 in [
'add_s',
'bind_s',
'delete_s',
'modify_s',
'modrdn_s',
'rename_s',
'sasl_interactive_bind_s',
'search_s',
'search_ext_s',
'simple_bind_s',
'unbind_s',
'getEntry',
] and not ('escapehatch' in kwargs and kwargs['escapehatch'] == 'i am sure'):
c_stack = inspect.stack()
frame = c_stack[1]

warnings.warn(DeprecationWarning("Use of raw ldap function %s. This will be removed in a future release. "
"Found in: %s:%s" % (name, frame.filename, frame.lineno)))
# Later, we will add a sleep here to make it even more painful.
# Finally, it will raise an exception.
elif 'escapehatch' in kwargs:
kwargs.pop('escapehatch')

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.7/site-packages/lib389/__init__.py:180:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807b735a10>
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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:603:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

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 in [
'add_s',
'bind_s',
'delete_s',
'modify_s',
'modrdn_s',
'rename_s',
'sasl_interactive_bind_s',
'search_s',
'search_ext_s',
'simple_bind_s',
'unbind_s',
'getEntry',
] and not ('escapehatch' in kwargs and kwargs['escapehatch'] == 'i am sure'):
c_stack = inspect.stack()
frame = c_stack[1]

warnings.warn(DeprecationWarning("Use of raw ldap function %s. This will be removed in a future release. "
"Found in: %s:%s" % (name, frame.filename, frame.lineno)))
# Later, we will add a sleep here to make it even more painful.
# Finally, it will raise an exception.
elif 'escapehatch' in kwargs:
kwargs.pop('escapehatch')

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.7/site-packages/lib389/__init__.py:180:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807b735a10>
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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:600:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (<built-in method modify_ext of LDAP object at 0x7f807bb69ae0>, '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 in [
'add_s',
'bind_s',
'delete_s',
'modify_s',
'modrdn_s',
'rename_s',
'sasl_interactive_bind_s',
'search_s',
'search_ext_s',
'simple_bind_s',
'unbind_s',
'getEntry',
] and not ('escapehatch' in kwargs and kwargs['escapehatch'] == 'i am sure'):
c_stack = inspect.stack()
frame = c_stack[1]

warnings.warn(DeprecationWarning("Use of raw ldap function %s. This will be removed in a future release. "
"Found in: %s:%s" % (name, frame.filename, frame.lineno)))
# Later, we will add a sleep here to make it even more painful.
# Finally, it will raise an exception.
elif 'escapehatch' in kwargs:
kwargs.pop('escapehatch')

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.7/site-packages/lib389/__init__.py:180:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807b735a10>
func = <built-in method modify_ext of LDAP object at 0x7f807bb69ae0>
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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: TypeError

During handling of the above exception, another exception occurred:

topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807b767b90>

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

/export/tests/tickets/ticket48226_test.py:30: AssertionError
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists
-------------------------------Captured log call--------------------------------
CRITICAL tests.tickets.ticket48226_test:ticket48226_test.py:29 Failed to configure replica
Failed tickets/ticket48226_test.py::test_ticket48226_1 0.03
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807b767b90>

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)

/export/tests/tickets/ticket48226_test.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:603: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:600: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807b735a10>
func = <built-in method modify_ext of LDAP object at 0x7f807bb69ae0>
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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: TypeError
Failed tickets/ticket48637_test.py::test_ticket48637 5.23
topology_st = <lib389.topologies.TopologyMain object at 0x7f807b7e1cd0>

def test_ticket48637(topology_st):
"""Test for entry cache corruption

This requires automember and managed entry plugins to be configured.

Then remove the group that automember would use to trigger a failure when
adding a new entry. Automember fails, and then managed entry also fails.

Make sure a base search on the entry returns error 32
"""

if DEBUGGING:
# Add debugging steps(if any)...
pass

#
# Add our setup entries
#
try:
topology_st.standalone.add_s(Entry((PEOPLE_OU, {
'objectclass': 'top organizationalunit'.split(),
'ou': 'people'})))
except ldap.ALREADY_EXISTS:
pass
except ldap.LDAPError as e:
log.fatal('Failed to add people ou: ' + str(e))
assert False

try:
topology_st.standalone.add_s(Entry((GROUP_OU, {
'objectclass': 'top organizationalunit'.split(),
'ou': 'groups'})))
except ldap.ALREADY_EXISTS:
pass
except ldap.LDAPError as e:
log.fatal('Failed to add groups ou: ' + str(e))
assert False

try:
topology_st.standalone.add_s(Entry((MEP_OU, {
'objectclass': 'top extensibleObject'.split(),
'ou': 'mep'})))
except ldap.LDAPError as e:
log.fatal('Failed to add MEP ou: ' + str(e))
assert False

try:
topology_st.standalone.add_s(Entry((MEP_TEMPLATE, {
'objectclass': 'top mepTemplateEntry'.split(),
'cn': 'mep template',
'mepRDNAttr': 'cn',
'mepStaticAttr': 'objectclass: groupofuniquenames',
'mepMappedAttr': 'cn: $uid'})))
except ldap.LDAPError as e:
log.fatal('Failed to add MEP ou: ' + str(e))
assert False

#
# Configure automember
#
try:
topology_st.standalone.add_s(Entry((AUTO_DN, {
'cn': 'All Users',
'objectclass': ['top', 'autoMemberDefinition'],
'autoMemberScope': 'dc=example,dc=com',
'autoMemberFilter': 'objectclass=person',
'autoMemberDefaultGroup': GROUP_DN,
'autoMemberGroupingAttr': 'uniquemember:dn'})))
except ldap.LDAPError as e:
log.fatal('Failed to configure automember plugin : ' + str(e))
assert False

#
# Configure managed entry plugin
#
try:
topology_st.standalone.add_s(Entry((MEP_DN, {
'cn': 'MEP Definition',
'objectclass': ['top', 'extensibleObject'],
'originScope': 'ou=people,dc=example,dc=com',
'originFilter': 'objectclass=person',
'managedBase': 'ou=groups,dc=example,dc=com',
'managedTemplate': MEP_TEMPLATE})))
except ldap.LDAPError as e:
log.fatal('Failed to configure managed entry plugin : ' + str(e))
assert False

#
# Restart DS
#
topology_st.standalone.restart(timeout=30)

#
# Add entry that should fail since the automember group does not exist
#
try:
topology_st.standalone.add_s(Entry((USER_DN, {
'uid': 'test',
'objectclass': ['top', 'person', 'extensibleObject'],
'sn': 'test',
'cn': 'test'})))
except ldap.LDAPError as e:
pass

#
# Search for the entry - it should not be returned
#
try:
entry = topology_st.standalone.search_s(USER_DN, ldap.SCOPE_SUBTREE,
'objectclass=*')
if entry:
log.fatal('Entry was incorrectly returned')
> assert False
E assert False

/export/tests/tickets/ticket48637_test.py:139: AssertionError
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
CRITICAL tests.tickets.ticket48637_test:ticket48637_test.py:138 Entry was incorrectly returned
Failed tickets/ticket48784_test.py::test_ticket48784 38.76
Fixture "add_entry" called directly. Fixtures are not meant to be called directly,
but are created automatically when test functions request them as parameters.
See https://docs.pytest.org/en/latest/fixture.html for more information about fixtures, and
https://docs.pytest.org/en/latest/deprecations.html#calling-fixtures-directly about how to update your code.
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists
-------------------------------Captured log call--------------------------------
INFO  tests.tickets.ticket48784_test:ticket48784_test.py:90 Ticket 48784 - Allow usage of OpenLDAP libraries that don't use NSS for crypto INFO  tests.tickets.ticket48784_test:ticket48784_test.py:50 ######################### Configure SSL/TLS agreements ###################### INFO  tests.tickets.ticket48784_test:ticket48784_test.py:51 ######################## master1 <-- startTLS -> master2 ##################### INFO  tests.tickets.ticket48784_test:ticket48784_test.py:53 ##### Update the agreement of master1 INFO  tests.tickets.ticket48784_test:ticket48784_test.py:58 ##### Update the agreement of master2 INFO  tests.tickets.ticket48784_test:ticket48784_test.py:68 ######################### Configure SSL/TLS agreements Done ######################
Failed tickets/ticket48961_test.py::test_ticket48961_storagescheme 0.01
topology_st = <lib389.topologies.TopologyMain object at 0x7f807b4e6710>

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)

/export/tests/tickets/ticket48961_test.py:28:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:317: in remove
self.set(key, value, action=ldap.MOD_DELETE)
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:449: in set
escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807b511dd0>
func = <built-in method result4 of LDAP object at 0x7f807b50a6c0>
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.OPERATIONS_ERROR: {'desc': 'Operations error', 'info': 'passwordStorageScheme: deleting the value is not allowed.'}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: OPERATIONS_ERROR
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 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 0.00
topology_st = <lib389.topologies.TopologyMain object at 0x7f807b4e6710>

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()

/export/tests/tickets/ticket48961_test.py:101:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.config.Config object at 0x7f807b4e6c90>, name = 'raw_entry'

def __getattr__(self, name):
"""This enables a bit of magic to allow us to wrap any function ending with
_json to it's form without json, then transformed. It means your function
*must* return it's values as a dict of:

{ attr : [val, val, ...], attr : [], ... }
to be supported.
"""

if (name.endswith('_json')):
int_name = name.replace('_json', '')
pfunc = partial(self._jsonify, getattr(self, int_name))
return pfunc
else:
> raise AttributeError("'%s' object has no attribute '%s'" % (self.__class__.__name__, name))
E AttributeError: 'Config' object has no attribute 'raw_entry'

/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:200: AttributeError
Failed tickets/ticket48973_test.py::test_ticket48973_homeDirectory_indexing 10.35
topology = <tests.tickets.ticket48973_test.TopologyStandalone object at 0x7f807b5919d0>

def test_ticket48973_homeDirectory_indexing(topology):
"""
Check that homedirectory is indexed with syntax (ces)
- triggers index
- no failure on index
- do a search indexed with exact value (ces) and no default_mr_indexer_create warning
- do a search indexed with uppercase value (ces) and no default_mr_indexer_create warning
"""
entry_ext = 1

try:
ent = topology.standalone.getEntry(HOMEDIRECTORY_INDEX, ldap.SCOPE_BASE)
except ldap.NO_SUCH_OBJECT:
topology.standalone.add_s(Entry((HOMEDIRECTORY_INDEX, {
'objectclass': "top nsIndex".split(),
'cn': HOMEDIRECTORY_CN,
'nsSystemIndex': 'false',
'nsIndexType': 'eq'})))

args = {TASK_WAIT: True}
topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args)

log.info("Check indexing succeeded with no specified matching rule")
assert not _find_first_indexing_failure(topology, "unknown or invalid matching rule")
assert not _find_first_indexing_failure(topology, "default_mr_indexer_create: warning")
assert not _find_first_indexing_failure(topology, "default_mr_indexer_create - Plugin .* does not handle")

_check_entry(topology, filterHead="homeDirectory", filterValueUpper=False, entry_ext=entry_ext,found=True, indexed=True)

> _check_entry(topology, filterHead="homeDirectory:caseExactIA5Match:", filterValueUpper=False, entry_ext=entry_ext, found=True, indexed=False)

/export/tests/tickets/ticket48973_test.py:251:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topology = <tests.tickets.ticket48973_test.TopologyStandalone object at 0x7f807b5919d0>
filterHead = 'homeDirectory:caseExactIA5Match:', filterValueUpper = False
entry_ext = 1, found = True, indexed = False

def _check_entry(topology, filterHead=None, filterValueUpper=False, entry_ext=None, found=False, indexed=False):
# Search with CES with exact value -> find an entry + indexed
if filterValueUpper:
homehead = HOMEHEAD.upper()
else:
homehead = HOMEHEAD
searchedHome = "%s%d" % (homehead, entry_ext)
Filter = "(%s=%s)" % (filterHead, searchedHome)
log.info("Search %s" % Filter)
ents = topology.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, Filter)
if found:
assert len(ents) == 1
assert ents[0].hasAttr('homedirectory')
valueHome = ensure_bytes("%s%d" % (HOMEHEAD, entry_ext))
assert valueHome in ents[0].getValues('homedirectory')
else:
assert len(ents) == 0

result = _find_next_notes(topology, Filter)
log.info("result=%s" % result)
if indexed:
assert not "notes=U" in result
else:
> assert "notes=U" in result
E AssertionError: assert 'notes=U' in '[22/Feb/2020:22:19:18.868447677 -0500] conn=1 op=2 RESULT err=0 tag=101 nentries=1 etime=0.003804905\n'

/export/tests/tickets/ticket48973_test.py:188: AssertionError
-------------------------------Captured log call--------------------------------
INFO  lib389:tasks.py:768 Index task index_attrs_02222020_221913 completed successfully INFO  tests.tickets.ticket48973_test:ticket48973_test.py:244 Check indexing succeeded with no specified matching rule INFO  tests.tickets.ticket48973_test:ticket48973_test.py:173 Search (homeDirectory=/home/xyz_1) INFO  tests.tickets.ticket48973_test:ticket48973_test.py:184 result=[22/Feb/2020:22:19:15.519664469 -0500] conn=1 op=10 RESULT err=0 tag=101 nentries=1 etime=0.000603041 INFO  tests.tickets.ticket48973_test:ticket48973_test.py:173 Search (homeDirectory:caseExactIA5Match:=/home/xyz_1) INFO  tests.tickets.ticket48973_test:ticket48973_test.py:184 result=[22/Feb/2020:22:19:18.868447677 -0500] conn=1 op=2 RESULT err=0 tag=101 nentries=1 etime=0.003804905
Failed tickets/ticket49073_test.py::test_ticket49073 10.53
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f807b668c50>

def test_ticket49073(topology_m2):
"""Write your replication test here.

To access each DirSrv instance use: topology_m2.ms["master1"], topology_m2.ms["master2"],
..., topology_m2.hub1, ..., topology_m2.consumer1,...

Also, if you need any testcase initialization,
please, write additional fixture for that(include finalizer).
"""
topology_m2.ms["master1"].plugins.enable(name=PLUGIN_MEMBER_OF)
topology_m2.ms["master1"].restart(timeout=10)
topology_m2.ms["master2"].plugins.enable(name=PLUGIN_MEMBER_OF)
topology_m2.ms["master2"].restart(timeout=10)

# Configure fractional to prevent total init to send memberof
ents = topology_m2.ms["master1"].agreement.list(suffix=SUFFIX)
assert len(ents) == 1
log.info('update %s to add nsDS5ReplicatedAttributeListTotal' % ents[0].dn)
topology_m2.ms["master1"].modify_s(ents[0].dn,
[(ldap.MOD_REPLACE,
'nsDS5ReplicatedAttributeListTotal',
'(objectclass=*) $ EXCLUDE '),
(ldap.MOD_REPLACE,
'nsDS5ReplicatedAttributeList',
> '(objectclass=*) $ EXCLUDE memberOf')])

/export/tests/tickets/ticket49073_test.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:631: in modify_s
return self.modify_ext_s(dn,modlist,None,None)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:603: in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:600: in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f807b654910>
func = <built-in method modify_ext of LDAP object at 0x7f807b389ba0>
args = ('cn=002,cn=replica,cn=dc\\3Dexample\\2Cdc\\3Dcom,cn=mapping tree,cn=config', [(2, 'nsDS5ReplicatedAttributeListTotal', '(objectclass=*) $ EXCLUDE '), (2, 'nsDS5ReplicatedAttributeList', '(objectclass=*) $ EXCLUDE memberOf')], 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/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: TypeError
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists
-------------------------------Captured log call--------------------------------
INFO  tests.tickets.ticket49073_test:ticket49073_test.py:96 update cn=002,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config to add nsDS5ReplicatedAttributeListTotal
Failed tickets/ticket49192_test.py::test_ticket49192 0.00
topo = <lib389.topologies.TopologyMain object at 0x7f807bb98a10>

def test_ticket49192(topo):
"""Trigger deadlock when removing suffix
"""

#
# Create a second suffix/backend
#
log.info('Creating second backend...')
topo.standalone.backends.create(None, properties={
BACKEND_NAME: "Second_Backend",
> 'suffix': "o=hang.com",
})

/export/tests/tickets/ticket49192_test.py:37:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:1178: in create
return co.create(rdn, properties, self._basedn)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.backend.Backend object at 0x7f807bb989d0>, dn = None
properties = {'name': 'Second_Backend', 'suffix': 'o=hang.com'}
basedn = 'cn=ldbm database,cn=plugins,cn=config'

def create(self, dn=None, properties=None, basedn=DN_LDBM):
"""Add a new backend entry, create mapping tree,
and, if requested, sample entries

:param dn: DN of the new entry
:type dn: str
:param properties: Attributes and parameters for the new entry
:type properties: dict
:param basedn: Base DN of the new entry
:type basedn: str

:returns: DSLdapObject of the created entry
"""

sample_entries = False
parent_suffix = False

# normalize suffix (remove spaces between comps)
if dn is not None:
dn_comps = ldap.dn.explode_dn(dn.lower())
dn = ",".join(dn_comps)

if properties is not None:
> suffix_dn = properties['nsslapd-suffix'].lower()
E KeyError: 'nsslapd-suffix'

/usr/local/lib/python3.7/site-packages/lib389/backend.py:580: KeyError
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  tests.tickets.ticket49192_test:ticket49192_test.py:34 Creating second backend...
Failed tickets/ticket49463_test.py::test_ticket_49463 232.37
topo = <lib389.topologies.TopologyMain object at 0x7f807b35b950>

def test_ticket_49463(topo):
"""Specify a test case purpose or name here

:id: 2a68e8be-387d-4ac7-9452-1439e8483c13
:setup: Fill in set up configuration here
:steps:
1. Enable fractional replication
2. Enable replication logging
3. Check that replication is working fine
4. Generate skipped updates to create keep alive entries
5. Remove M3 from the topology
6. issue cleanAllRuv FORCE that will run on M1 then propagated M2 and M4
7. Check that Number DEL keep alive '3' is <= 1
8. Check M1 is the originator of cleanAllRuv and M2/M4 the propagated ones
9. Check replication M1,M2 and M4 can recover
10. Remove M4 from the topology
11. Issue cleanAllRuv not force while M2 is stopped (that hangs the cleanAllRuv)
12. Check that nsds5ReplicaCleanRUV is correctly encoded on M1 (last value: 1)
13. Check that nsds5ReplicaCleanRUV encoding survives M1 restart
14. Check that nsds5ReplicaCleanRUV encoding is valid on M2 (last value: 0)
15. Check that (for M4 cleanAllRUV) M1 is Originator and M2 propagation
:expectedresults:
1. No report of failure when the RUV is updated
"""

# Step 1 - Configure fractional (skip telephonenumber) replication
M1 = topo.ms["master1"]
M2 = topo.ms["master2"]
M3 = topo.ms["master3"]
M4 = topo.ms["master4"]
repl = ReplicationManager(DEFAULT_SUFFIX)
fractional_server_to_replica(M1, M2)
fractional_server_to_replica(M1, M3)
fractional_server_to_replica(M1, M4)

fractional_server_to_replica(M2, M1)
fractional_server_to_replica(M2, M3)
fractional_server_to_replica(M2, M4)

fractional_server_to_replica(M3, M1)
fractional_server_to_replica(M3, M2)
fractional_server_to_replica(M3, M4)

fractional_server_to_replica(M4, M1)
fractional_server_to_replica(M4, M2)
fractional_server_to_replica(M4, M3)

# Step 2 - enable internal op logging and replication debug
for i in (M1, M2, M3, M4):
i.config.loglevel(vals=[256 + 4], service='access')
i.config.loglevel(vals=[LOG_REPLICA, LOG_DEFAULT], service='error')

# Step 3 - Check that replication is working fine
add_user(M1, 11, desc="add to M1")
add_user(M2, 21, desc="add to M2")
add_user(M3, 31, desc="add to M3")
add_user(M4, 41, desc="add to M4")

for i in (M1, M2, M3, M4):
for j in (M1, M2, M3, M4):
if i == j:
continue
repl.wait_for_replication(i, j)

# Step 4 - Generate skipped updates to create keep alive entries
for i in (M1, M2, M3, M4):
cn = '%s_%d' % (USER_CN, 11)
dn = 'uid=%s,ou=People,%s' % (cn, SUFFIX)
users = UserAccount(i, dn)
for j in range(110):
users.set('telephoneNumber', str(j))

# Step 5 - Remove M3 from the topology
M3.stop()
M1.agreement.delete(suffix=SUFFIX, consumer_host=M3.host, consumer_port=M3.port)
M2.agreement.delete(suffix=SUFFIX, consumer_host=M3.host, consumer_port=M3.port)
M4.agreement.delete(suffix=SUFFIX, consumer_host=M3.host, consumer_port=M3.port)

# Step 6 - Then issue cleanAllRuv FORCE that will run on M1, M2 and M4
M1.tasks.cleanAllRUV(suffix=SUFFIX, replicaid='3',
force=True, args={TASK_WAIT: True})

# Step 7 - Count the number of received DEL of the keep alive 3
for i in (M1, M2, M4):
i.restart()
regex = re.compile(".*DEL dn=.cn=repl keep alive 3.*")
for i in (M1, M2, M4):
count = count_pattern_accesslog(M1, regex)
log.debug("count on %s = %d" % (i, count))

# check that DEL is replicated once (If DEL is kept in the fix)
# check that DEL is is not replicated (If DEL is finally no long done in the fix)
assert ((count == 1) or (count == 0))

# Step 8 - Check that M1 is Originator of cleanAllRuv and M2, M4 propagation
regex = re.compile(".*Original task deletes Keep alive entry .3.*")
assert pattern_errorlog(M1, regex)

regex = re.compile(".*Propagated task does not delete Keep alive entry .3.*")
assert pattern_errorlog(M2, regex)
assert pattern_errorlog(M4, regex)

# Step 9 - Check replication M1,M2 and M4 can recover
add_user(M1, 12, desc="add to M1")
add_user(M2, 22, desc="add to M2")
for i in (M1, M2, M4):
for j in (M1, M2, M4):
if i == j:
continue
repl.wait_for_replication(i, j)

# Step 10 - Remove M4 from the topology
M4.stop()
M1.agreement.delete(suffix=SUFFIX, consumer_host=M4.host, consumer_port=M4.port)
M2.agreement.delete(suffix=SUFFIX, consumer_host=M4.host, consumer_port=M4.port)

# Step 11 - Issue cleanAllRuv not force while M2 is stopped (that hangs the cleanAllRuv)
M2.stop()
M1.tasks.cleanAllRUV(suffix=SUFFIX, replicaid='4',
force=False, args={TASK_WAIT: False})

# Step 12
# CleanAllRuv is hanging waiting for M2 to restart
# Check that nsds5ReplicaCleanRUV is correctly encoded on M1
replicas = Replicas(M1)
replica = replicas.list()[0]
time.sleep(0.5)
replica.present('nsds5ReplicaCleanRUV')
log.info("M1: nsds5ReplicaCleanRUV=%s" % replica.get_attr_val_utf8('nsds5replicacleanruv'))
regex = re.compile("^4:.*:no:1$")
> assert regex.match(replica.get_attr_val_utf8('nsds5replicacleanruv'))
E AssertionError: assert None
E + where None = <built-in method match of re.Pattern object at 0x7f807bcb0030>('4:no:1:dc=example,dc=com')
E + where <built-in method match of re.Pattern object at 0x7f807bcb0030> = re.compile('^4:.*:no:1$').match
E + and '4:no:1:dc=example,dc=com' = <bound method DSLdapObject.get_attr_val_utf8 of <lib389.replica.Replica object at 0x7f807b8de850>>('nsds5replicacleanruv')
E + where <bound method DSLdapObject.get_attr_val_utf8 of <lib389.replica.Replica object at 0x7f807b8de850>> = <lib389.replica.Replica object at 0x7f807b8de850>.get_attr_val_utf8

/export/tests/tickets/ticket49463_test.py:188: AssertionError
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39004, 'ldap-secureport': 63704, 'server-id': 'master4', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:153 Joining master master3 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 INFO  lib389.topologies:topologies.py:153 Joining master master4 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master3 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master4 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master3 ... INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 is was created INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master4 ... INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 is was created INFO  lib389.topologies:topologies.py:161 Ensuring master master3 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master3 to master2 ... INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.topologies:topologies.py:161 Ensuring master master3 to master4 ... INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 is was created INFO  lib389.topologies:topologies.py:161 Ensuring master master4 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master4 to master2 ... INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.topologies:topologies.py:161 Ensuring master master4 to master3 ... INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 is was created
-------------------------------Captured log call--------------------------------
INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 already exists INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 is working INFO  lib389:agreement.py:1089 Agreement (cn=003,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed INFO  lib389:agreement.py:1089 Agreement (cn=003,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed INFO  lib389:agreement.py:1089 Agreement (cn=003,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed INFO  lib389:tasks.py:1370 cleanAllRUV task (task-02222020_224208) completed successfully INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39004 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389:agreement.py:1089 Agreement (cn=004,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed INFO  lib389:agreement.py:1089 Agreement (cn=004,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) was successfully removed INFO  lib389:tasks.py:1370 cleanAllRUV task (task-02222020_224257) completed successfully INFO  lib389.utils:ticket49463_test.py:186 M1: nsds5ReplicaCleanRUV=4:no:1:dc=example,dc=com
Failed tickets/ticket49623_2_test.py::test_modrdn_loop 0.35
topology_m1 = <lib389.topologies.TopologyMain object at 0x7f807b6cc190>

@pytest.mark.ds49623
@pytest.mark.bz1790986
def test_modrdn_loop(topology_m1):
"""Test that renaming the same entry multiple times reusing the same
RDN multiple times does not result in cenotaph error messages

:id: 631b2be9-5c03-44c7-9853-a87c923d5b30

:setup: Single master instance

:steps: 1. Add an entry with RDN start rdn
2. Rename the entry to rdn change
3. Rename the entry to start again
4. Rename the entry to rdn change
5. check for cenotaph error messages
:expectedresults:
1. No error messages
"""

topo = topology_m1.ms['master1']
TEST_ENTRY_RDN_START = 'start'
TEST_ENTRY_RDN_CHANGE = 'change'
TEST_ENTRY_NAME = 'tuser'
users = UserAccounts(topo, DEFAULT_SUFFIX)
user_properties = {
'uid': TEST_ENTRY_RDN_START,
'cn': TEST_ENTRY_NAME,
'sn': TEST_ENTRY_NAME,
'uidNumber': '1001',
'gidNumber': '2001',
'homeDirectory': '/home/{}'.format(TEST_ENTRY_NAME)
}

tuser = users.create(properties=user_properties)
tuser.rename('uid={}'.format(TEST_ENTRY_RDN_CHANGE), newsuperior=None, deloldrdn=True)
tuser.rename('uid={}'.format(TEST_ENTRY_RDN_START), newsuperior=None, deloldrdn=True)
tuser.rename('uid={}'.format(TEST_ENTRY_RDN_CHANGE), newsuperior=None, deloldrdn=True)

log.info("Check the log messages for cenotaph error")
error_msg = ".*urp_fixup_add_cenotaph - failed to add cenotaph, err= 68"
> assert not topo.ds_error_log.match(error_msg)
E AssertionError: assert not ['[22/Feb/2020:22:43:54.208385382 -0500] - ERR - conn=1 op=23 csn=5e51f4fa000100010000 - urp_fixup_add_cenotaph - failed to add cenotaph, err= 68\n']
E + where ['[22/Feb/2020:22:43:54.208385382 -0500] - ERR - conn=1 op=23 csn=5e51f4fa000100010000 - urp_fixup_add_cenotaph - failed to add cenotaph, err= 68\n'] = <bound method DirsrvLog.match of <lib389.dirsrv_log.DirsrvErrorLog object at 0x7f807b6cc2d0>>('.*urp_fixup_add_cenotaph - failed to add cenotaph, err= 68')
E + where <bound method DirsrvLog.match of <lib389.dirsrv_log.DirsrvErrorLog object at 0x7f807b6cc2d0>> = <lib389.dirsrv_log.DirsrvErrorLog object at 0x7f807b6cc2d0>.match
E + where <lib389.dirsrv_log.DirsrvErrorLog object at 0x7f807b6cc2d0> = <lib389.DirSrv object at 0x7f807b4e66d0>.ds_error_log

/export/tests/tickets/ticket49623_2_test.py:66: AssertionError
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology.
-------------------------------Captured log call--------------------------------
INFO  tests.tickets.ticket49623_2_test:ticket49623_2_test.py:64 Check the log messages for cenotaph error
XFailed suites/acl/syntax_test.py::test_aci_invalid_syntax_fail[test_targattrfilters_18] 0.01
topo = <lib389.topologies.TopologyMain object at 0x7f808e81bdd0>
real_value = '(target = ldap:///cn=Jeff Vedder,ou=Product Development,dc=example,dc=com)(targetattr=*)(version 3.0; acl "Name of th...3123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123";)'

@pytest.mark.xfail(reason='https://bugzilla.redhat.com/show_bug.cgi?id=1691473')
@pytest.mark.parametrize("real_value", [a[1] for a in FAILED],
ids=[a[0] for a in FAILED])
def test_aci_invalid_syntax_fail(topo, real_value):
"""

Try to set wrong ACI syntax.

:id: 83c40784-fff5-49c8-9535-7064c9c19e7e
:parametrized: yes
:setup: Standalone Instance
:steps:
1. Create ACI
2. Try to setup the ACI with Instance
:expectedresults:
1. It should pass
2. It should not pass
"""
domain = Domain(topo.standalone, DEFAULT_SUFFIX)
with pytest.raises(ldap.INVALID_SYNTAX):
> domain.add("aci", real_value)
E Failed: DID NOT RAISE <class 'ldap.INVALID_SYNTAX'>

suites/acl/syntax_test.py:215: Failed
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
XFailed suites/acl/syntax_test.py::test_aci_invalid_syntax_fail[test_targattrfilters_20] 0.21
topo = <lib389.topologies.TopologyMain object at 0x7f808e81bdd0>
real_value = '(target = ldap:///cn=Jeff Vedder,ou=Product Development,dc=example,dc=com)(targetattr=*)(version 3.0; acl "Name of the ACI"; deny(write)userdns="ldap:///anyone";)'

@pytest.mark.xfail(reason='https://bugzilla.redhat.com/show_bug.cgi?id=1691473')
@pytest.mark.parametrize("real_value", [a[1] for a in FAILED],
ids=[a[0] for a in FAILED])
def test_aci_invalid_syntax_fail(topo, real_value):
"""

Try to set wrong ACI syntax.

:id: 83c40784-fff5-49c8-9535-7064c9c19e7e
:parametrized: yes
:setup: Standalone Instance
:steps:
1. Create ACI
2. Try to setup the ACI with Instance
:expectedresults:
1. It should pass
2. It should not pass
"""
domain = Domain(topo.standalone, DEFAULT_SUFFIX)
with pytest.raises(ldap.INVALID_SYNTAX):
> domain.add("aci", real_value)
E Failed: DID NOT RAISE <class 'ldap.INVALID_SYNTAX'>

suites/acl/syntax_test.py:215: Failed
XFailed suites/acl/syntax_test.py::test_aci_invalid_syntax_fail[test_bind_rule_set_with_more_than_three] 0.01
topo = <lib389.topologies.TopologyMain object at 0x7f808e81bdd0>
real_value = '(target = ldap:///dc=example,dc=com)(targetattr=*)(version 3.0; acl "Name of the ACI"; deny absolute (all)userdn="ldap:////////anyone";)'

@pytest.mark.xfail(reason='https://bugzilla.redhat.com/show_bug.cgi?id=1691473')
@pytest.mark.parametrize("real_value", [a[1] for a in FAILED],
ids=[a[0] for a in FAILED])
def test_aci_invalid_syntax_fail(topo, real_value):
"""

Try to set wrong ACI syntax.

:id: 83c40784-fff5-49c8-9535-7064c9c19e7e
:parametrized: yes
:setup: Standalone Instance
:steps:
1. Create ACI
2. Try to setup the ACI with Instance
:expectedresults:
1. It should pass
2. It should not pass
"""
domain = Domain(topo.standalone, DEFAULT_SUFFIX)
with pytest.raises(ldap.INVALID_SYNTAX):
> domain.add("aci", real_value)
E Failed: DID NOT RAISE <class 'ldap.INVALID_SYNTAX'>

suites/acl/syntax_test.py:215: Failed
XFailed suites/acl/syntax_test.py::test_aci_invalid_syntax_fail[test_Use_double_equal_instead_of_equal_in_the_targetattr] 0.37
topo = <lib389.topologies.TopologyMain object at 0x7f808e81bdd0>
real_value = '(target = ldap:///dc=example,dc=com)(targetattr==*)(version 3.0; acl "Name of the ACI"; deny absolute (all)userdn="ldap:///anyone";)'

@pytest.mark.xfail(reason='https://bugzilla.redhat.com/show_bug.cgi?id=1691473')
@pytest.mark.parametrize("real_value", [a[1] for a in FAILED],
ids=[a[0] for a in FAILED])
def test_aci_invalid_syntax_fail(topo, real_value):
"""

Try to set wrong ACI syntax.

:id: 83c40784-fff5-49c8-9535-7064c9c19e7e
:parametrized: yes
:setup: Standalone Instance
:steps:
1. Create ACI
2. Try to setup the ACI with Instance
:expectedresults:
1. It should pass
2. It should not pass
"""
domain = Domain(topo.standalone, DEFAULT_SUFFIX)
with pytest.raises(ldap.INVALID_SYNTAX):
> domain.add("aci", real_value)
E Failed: DID NOT RAISE <class 'ldap.INVALID_SYNTAX'>

suites/acl/syntax_test.py:215: Failed
XFailed suites/acl/syntax_test.py::test_aci_invalid_syntax_fail[test_Use_double_equal_instead_of_equal_in_the_targetfilter] 0.01
topo = <lib389.topologies.TopologyMain object at 0x7f808e81bdd0>
real_value = '(target = ldap:///dc=example,dc=com)(targetfilter==*)(version 3.0; acl "Name of the ACI"; deny absolute (all)userdn="ldap:///anyone";)'

@pytest.mark.xfail(reason='https://bugzilla.redhat.com/show_bug.cgi?id=1691473')
@pytest.mark.parametrize("real_value", [a[1] for a in FAILED],
ids=[a[0] for a in FAILED])
def test_aci_invalid_syntax_fail(topo, real_value):
"""

Try to set wrong ACI syntax.

:id: 83c40784-fff5-49c8-9535-7064c9c19e7e
:parametrized: yes
:setup: Standalone Instance
:steps:
1. Create ACI
2. Try to setup the ACI with Instance
:expectedresults:
1. It should pass
2. It should not pass
"""
domain = Domain(topo.standalone, DEFAULT_SUFFIX)
with pytest.raises(ldap.INVALID_SYNTAX):
> domain.add("aci", real_value)
E Failed: DID NOT RAISE <class 'ldap.INVALID_SYNTAX'>

suites/acl/syntax_test.py:215: Failed
XFailed suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_3, CHILDREN)] 0.05
topo = <lib389.topologies.TopologyMain object at 0x7f808ec3e810>
_add_user = None, user = 'uid=Grandparent,ou=Inheritance,dc=example,dc=com'
entry = 'ou=CHILDREN,ou=PARENTS,ou=GRANDPARENTS,ou=ANCESTORS,ou=Inheritance,dc=example,dc=com'

@pytest.mark.parametrize("user,entry", [
(CAN, ROLEDNACCESS),
(CAN, USERDNACCESS),
(CAN, GROUPDNACCESS),
(CAN, LDAPURLACCESS),
(CAN, ATTRNAMEACCESS),
(LEVEL_0, OU_2),
(LEVEL_1, ANCESTORS),
(LEVEL_2, GRANDPARENTS),
(LEVEL_4, OU_2),
(LEVEL_4, ANCESTORS),
(LEVEL_4, GRANDPARENTS),
(LEVEL_4, PARENTS),
(LEVEL_4, CHILDREN),
pytest.param(LEVEL_3, CHILDREN, marks=pytest.mark.xfail(reason="May be some bug")),
], ids=[
"(CAN,ROLEDNACCESS)",
"(CAN,USERDNACCESS)",
"(CAN,GROUPDNACCESS)",
"(CAN,LDAPURLACCESS)",
"(CAN,ATTRNAMEACCESS)",
"(LEVEL_0, OU_2)",
"(LEVEL_1,ANCESTORS)",
"(LEVEL_2,GRANDPARENTS)",
"(LEVEL_4,OU_2)",
"(LEVEL_4, ANCESTORS)",
"(LEVEL_4,GRANDPARENTS)",
"(LEVEL_4,PARENTS)",
"(LEVEL_4,CHILDREN)",
"(LEVEL_3, CHILDREN)"
])
def test_mod_see_also_positive(topo, _add_user, user, entry):
"""
Try to set seeAlso on entry with binding specific user, it will success
as per the ACI.

:id: 65745426-7a01-11e8-8ac2-8c16451d917b
:parametrized: yes
:setup: Standalone Instance
:steps:
1. Add test entry
2. Add ACI
3. User should follow ACI role
:expectedresults:
1. Entry should be added
2. Operation should succeed
3. Operation should succeed
"""
conn = UserAccount(topo.standalone, user).bind(PW_DM)
> UserAccount(conn, entry).replace('seeAlso', 'cn=1')

suites/acl/userattr_test.py:216:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:281: in replace
self.set(key, value, action=ldap.MOD_REPLACE)
/usr/local/lib/python3.7/site-packages/lib389/_mapped_object.py:449: in set
escapehatch='i am sure')
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:604: in modify_ext_s
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:751: in result3
resp_ctrl_classes=resp_ctrl_classes
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:758: in result4
ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
/usr/local/lib/python3.7/site-packages/lib389/__init__.py:180: in inner
return f(*args, **kwargs)
/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:331: in _ldap_call
reraise(exc_type, exc_value, exc_traceback)
/usr/local/lib64/python3.7/site-packages/ldap/compat.py:44: in reraise
raise exc_value
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <lib389.DirSrv object at 0x7f808e0dcbd0>
func = <built-in method result4 of LDAP object at 0x7f808e92b690>
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.INSUFFICIENT_ACCESS: {'desc': 'Insufficient access', 'info': "Insufficient 'write' privilege to the 'seeAlso' attribute of entry 'ou=children,ou=parents,ou=grandparents,ou=ancestors,ou=inheritance,dc=example,dc=com'.\n"}

/usr/local/lib64/python3.7/site-packages/ldap/ldapobject.py:315: INSUFFICIENT_ACCESS
XFailed suites/config/config_test.py::test_defaultnamingcontext_1 0.28
topo = <lib389.topologies.TopologyMain object at 0x7f808e147290>

@pytest.mark.xfail(reason="This may fail due to bug 1610234")
def test_defaultnamingcontext_1(topo):
"""This test case should be part of function test_defaultnamingcontext
Please move it back after we have a fix for bug 1610234
"""
log.info("Remove the original suffix which is currently nsslapd-defaultnamingcontext"
"and check nsslapd-defaultnamingcontext become empty.")

""" Please remove these declarations after moving the test
to function test_defaultnamingcontext
"""
backends = Backends(topo.standalone)
test_db2 = 'test2_db'
test_suffix2 = 'dc=test2,dc=com'
b2 = backends.create(properties={'cn': test_db2,
'nsslapd-suffix': test_suffix2})
b2.delete()
> assert topo.standalone.config.get_attr_val_utf8('nsslapd-defaultnamingcontext') == ' '
E AssertionError: assert 'dc=example,dc=com' == ' '
E Strings contain only whitespace, escaping them using repr()
E - 'dc=example,dc=com'
E + ' '

suites/config/config_test.py:278: AssertionError
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.config_test:config_test.py:266 Remove the original suffix which is currently nsslapd-defaultnamingcontextand check nsslapd-defaultnamingcontext become empty.
XFailed suites/replication/conflict_resolve_test.py::TestTwoMasters::test_memberof_groups 0.00
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7f8084ec7690>
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f8084b9fa50>
base_m2 = <lib389.idm.nscontainer.nsContainer object at 0x7f8084ee7a50>

def test_memberof_groups(self, topology_m2, base_m2):
"""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
"""

> pytest.xfail("Issue 49591 - work in progress")
E _pytest.outcomes.XFailed: Issue 49591 - work in progress

suites/replication/conflict_resolve_test.py:401: XFailed
XFailed suites/replication/conflict_resolve_test.py::TestTwoMasters::test_managed_entries 0.00
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7f8084edd550>
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f8084b9fa50>

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
"""

> pytest.xfail("Issue 49591 - work in progress")
E _pytest.outcomes.XFailed: Issue 49591 - work in progress

suites/replication/conflict_resolve_test.py:492: XFailed
XFailed suites/replication/conflict_resolve_test.py::TestTwoMasters::test_nested_entries_with_children 0.00
self = <tests.suites.replication.conflict_resolve_test.TestTwoMasters object at 0x7f8084bbd390>
topology_m2 = <lib389.topologies.TopologyMain object at 0x7f8084b9fa50>
base_m2 = <lib389.idm.nscontainer.nsContainer object at 0x7f8084bbdb10>

def test_nested_entries_with_children(self, topology_m2, base_m2):
"""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
"""

> pytest.xfail("Issue 49591 - work in progress")
E _pytest.outcomes.XFailed: Issue 49591 - work in progress

suites/replication/conflict_resolve_test.py:583: XFailed
XFailed suites/replication/conflict_resolve_test.py::TestThreeMasters::test_nested_entries 0.00
self = <tests.suites.replication.conflict_resolve_test.TestThreeMasters object at 0x7f8084ecda50>
topology_m3 = <lib389.topologies.TopologyMain object at 0x7f8084eca590>
base_m3 = <lib389.idm.nscontainer.nsContainer object at 0x7f8084c2ad90>

def test_nested_entries(self, topology_m3, 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
"""

> pytest.xfail("Issue 49591 - work in progress")
E _pytest.outcomes.XFailed: Issue 49591 - work in progress

suites/replication/conflict_resolve_test.py:796: XFailed
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39003, 'ldap-secureport': 63703, 'server-id': 'master3', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:153 Joining master master3 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master3 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master3 ... INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 is was created INFO  lib389.topologies:topologies.py:161 Ensuring master master3 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master3 to master2 ... INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39003 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created
XFailed suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaPort-0-65535-9999999999999999999999999999999999999999999999999999999999999999999-invalid-389] 0.04
topo = <lib389.topologies.TopologyMain object at 0x7f808559d790>
attr = 'nsds5ReplicaPort', too_small = '0', too_big = '65535'
overflow = '9999999999999999999999999999999999999999999999999999999999999999999'
notnum = 'invalid', valid = '389'

@pytest.mark.xfail(reason="Agreement validation current does not work.")
@pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs)
def test_agmt_num_add(topo, attr, too_small, too_big, overflow, notnum, valid):
"""Test all the number values you can set for a replica config entry

:id: a8b47d4a-a089-4d70-8070-e6181209bf94
:parametrized: yes
:setup: standalone instance
:steps:
1. Use a value that is too small
2. Use a value that is too big
3. Use a value that overflows the int
4. Use a value with character value (not a number)
5. Use a valid value
:expectedresults:
1. Add is rejected
2. Add is rejected
3. Add is rejected
4. Add is rejected
5. Add is allowed
"""

agmt_reset(topo)
replica = replica_setup(topo)

agmts = Agreements(topo.standalone, basedn=replica.dn)

# Test too small
perform_invalid_create(agmts, agmt_dict, attr, too_small)
# Test too big
> perform_invalid_create(agmts, agmt_dict, attr, too_big)

suites/replication/replica_config_test.py:217:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

many = <lib389.agreement.Agreements object at 0x7f80860e6890>
properties = {'cn': 'test_agreement', 'nsDS5ReplicaBindDN': 'uid=tester', 'nsDS5ReplicaBindMethod': 'SIMPLE', 'nsDS5ReplicaHost': 'localhost.localdomain', ...}
attr = 'nsds5ReplicaPort', value = '65535'

def perform_invalid_create(many, properties, attr, value):
my_properties = copy.deepcopy(properties)
my_properties[attr] = value
with pytest.raises(ldap.LDAPError) as ei:
> many.create(properties=my_properties)
E Failed: DID NOT RAISE <class 'ldap.LDAPError'>

suites/replication/replica_config_test.py:108: Failed
XFailed suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaPort-0-65535-9999999999999999999999999999999999999999999999999999999999999999999-invalid-389] 0.16
topo = <lib389.topologies.TopologyMain object at 0x7f808559d790>
attr = 'nsds5ReplicaPort', too_small = '0', too_big = '65535'
overflow = '9999999999999999999999999999999999999999999999999999999999999999999'
notnum = 'invalid', valid = '389'

@pytest.mark.xfail(reason="Agreement validation current does not work.")
@pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs)
def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid):
"""Test all the number values you can set for a replica config entry

:id: a8b47d4a-a089-4d70-8070-e6181209bf95
:parametrized: yes
:setup: standalone instance
:steps:
1. Replace a value that is too small
2. Replace a value that is too big
3. Replace a value that overflows the int
4. Replace a value with character value (not a number)
5. Replace a vlue with a valid value
:expectedresults:
1. Value is rejected
2. Value is rejected
3. Value is rejected
4. Value is rejected
5. Value is allowed
"""

agmt = agmt_setup(topo)

# Value too small
> perform_invalid_modify(agmt, attr, too_small)

suites/replication/replica_config_test.py:253:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

o = <lib389.agreement.Agreement object at 0x7f8085afdb50>
attr = 'nsds5ReplicaPort', value = '0'

def perform_invalid_modify(o, attr, value):
with pytest.raises(ldap.LDAPError) as ei:
> o.replace(attr, value)
E Failed: DID NOT RAISE <class 'ldap.LDAPError'>

suites/replication/replica_config_test.py:113: Failed
XFailed suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.14
topo = <lib389.topologies.TopologyMain object at 0x7f808559d790>
attr = 'nsds5ReplicaTimeout', too_small = '-1', too_big = '9223372036854775807'
overflow = '9999999999999999999999999999999999999999999999999999999999999999999'
notnum = 'invalid', valid = '6'

@pytest.mark.xfail(reason="Agreement validation current does not work.")
@pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs)
def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid):
"""Test all the number values you can set for a replica config entry

:id: a8b47d4a-a089-4d70-8070-e6181209bf95
:parametrized: yes
:setup: standalone instance
:steps:
1. Replace a value that is too small
2. Replace a value that is too big
3. Replace a value that overflows the int
4. Replace a value with character value (not a number)
5. Replace a vlue with a valid value
:expectedresults:
1. Value is rejected
2. Value is rejected
3. Value is rejected
4. Value is rejected
5. Value is allowed
"""

agmt = agmt_setup(topo)

# Value too small
perform_invalid_modify(agmt, attr, too_small)
# Value too big
> perform_invalid_modify(agmt, attr, too_big)

suites/replication/replica_config_test.py:255:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

o = <lib389.agreement.Agreement object at 0x7f8086266910>
attr = 'nsds5ReplicaTimeout', value = '9223372036854775807'

def perform_invalid_modify(o, attr, value):
with pytest.raises(ldap.LDAPError) as ei:
> o.replace(attr, value)
E Failed: DID NOT RAISE <class 'ldap.LDAPError'>

suites/replication/replica_config_test.py:113: Failed
XFailed suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaBusyWaitTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.14
topo = <lib389.topologies.TopologyMain object at 0x7f808559d790>
attr = 'nsds5ReplicaBusyWaitTime', too_small = '-1'
too_big = '9223372036854775807'
overflow = '9999999999999999999999999999999999999999999999999999999999999999999'
notnum = 'invalid', valid = '6'

@pytest.mark.xfail(reason="Agreement validation current does not work.")
@pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs)
def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid):
"""Test all the number values you can set for a replica config entry

:id: a8b47d4a-a089-4d70-8070-e6181209bf95
:parametrized: yes
:setup: standalone instance
:steps:
1. Replace a value that is too small
2. Replace a value that is too big
3. Replace a value that overflows the int
4. Replace a value with character value (not a number)
5. Replace a vlue with a valid value
:expectedresults:
1. Value is rejected
2. Value is rejected
3. Value is rejected
4. Value is rejected
5. Value is allowed
"""

agmt = agmt_setup(topo)

# Value too small
perform_invalid_modify(agmt, attr, too_small)
# Value too big
> perform_invalid_modify(agmt, attr, too_big)

suites/replication/replica_config_test.py:255:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

o = <lib389.agreement.Agreement object at 0x7f8084bff990>
attr = 'nsds5ReplicaBusyWaitTime', value = '9223372036854775807'

def perform_invalid_modify(o, attr, value):
with pytest.raises(ldap.LDAPError) as ei:
> o.replace(attr, value)
E Failed: DID NOT RAISE <class 'ldap.LDAPError'>

suites/replication/replica_config_test.py:113: Failed
XFailed suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaSessionPauseTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.14
topo = <lib389.topologies.TopologyMain object at 0x7f808559d790>
attr = 'nsds5ReplicaSessionPauseTime', too_small = '-1'
too_big = '9223372036854775807'
overflow = '9999999999999999999999999999999999999999999999999999999999999999999'
notnum = 'invalid', valid = '6'

@pytest.mark.xfail(reason="Agreement validation current does not work.")
@pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs)
def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid):
"""Test all the number values you can set for a replica config entry

:id: a8b47d4a-a089-4d70-8070-e6181209bf95
:parametrized: yes
:setup: standalone instance
:steps:
1. Replace a value that is too small
2. Replace a value that is too big
3. Replace a value that overflows the int
4. Replace a value with character value (not a number)
5. Replace a vlue with a valid value
:expectedresults:
1. Value is rejected
2. Value is rejected
3. Value is rejected
4. Value is rejected
5. Value is allowed
"""

agmt = agmt_setup(topo)

# Value too small
perform_invalid_modify(agmt, attr, too_small)
# Value too big
> perform_invalid_modify(agmt, attr, too_big)

suites/replication/replica_config_test.py:255:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

o = <lib389.agreement.Agreement object at 0x7f8085ab8a10>
attr = 'nsds5ReplicaSessionPauseTime', value = '9223372036854775807'

def perform_invalid_modify(o, attr, value):
with pytest.raises(ldap.LDAPError) as ei:
> o.replace(attr, value)
E Failed: DID NOT RAISE <class 'ldap.LDAPError'>

suites/replication/replica_config_test.py:113: Failed
XFailed suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaFlowControlWindow--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.14
topo = <lib389.topologies.TopologyMain object at 0x7f808559d790>
attr = 'nsds5ReplicaFlowControlWindow', too_small = '-1'
too_big = '9223372036854775807'
overflow = '9999999999999999999999999999999999999999999999999999999999999999999'
notnum = 'invalid', valid = '6'

@pytest.mark.xfail(reason="Agreement validation current does not work.")
@pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs)
def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid):
"""Test all the number values you can set for a replica config entry

:id: a8b47d4a-a089-4d70-8070-e6181209bf95
:parametrized: yes
:setup: standalone instance
:steps:
1. Replace a value that is too small
2. Replace a value that is too big
3. Replace a value that overflows the int
4. Replace a value with character value (not a number)
5. Replace a vlue with a valid value
:expectedresults:
1. Value is rejected
2. Value is rejected
3. Value is rejected
4. Value is rejected
5. Value is allowed
"""

agmt = agmt_setup(topo)

# Value too small
perform_invalid_modify(agmt, attr, too_small)
# Value too big
> perform_invalid_modify(agmt, attr, too_big)

suites/replication/replica_config_test.py:255:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

o = <lib389.agreement.Agreement object at 0x7f808549db10>
attr = 'nsds5ReplicaFlowControlWindow', value = '9223372036854775807'

def perform_invalid_modify(o, attr, value):
with pytest.raises(ldap.LDAPError) as ei:
> o.replace(attr, value)
E Failed: DID NOT RAISE <class 'ldap.LDAPError'>

suites/replication/replica_config_test.py:113: Failed
XFailed suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaFlowControlPause--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.21
topo = <lib389.topologies.TopologyMain object at 0x7f808559d790>
attr = 'nsds5ReplicaFlowControlPause', too_small = '-1'
too_big = '9223372036854775807'
overflow = '9999999999999999999999999999999999999999999999999999999999999999999'
notnum = 'invalid', valid = '6'

@pytest.mark.xfail(reason="Agreement validation current does not work.")
@pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs)
def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid):
"""Test all the number values you can set for a replica config entry

:id: a8b47d4a-a089-4d70-8070-e6181209bf95
:parametrized: yes
:setup: standalone instance
:steps:
1. Replace a value that is too small
2. Replace a value that is too big
3. Replace a value that overflows the int
4. Replace a value with character value (not a number)
5. Replace a vlue with a valid value
:expectedresults:
1. Value is rejected
2. Value is rejected
3. Value is rejected
4. Value is rejected
5. Value is allowed
"""

agmt = agmt_setup(topo)

# Value too small
perform_invalid_modify(agmt, attr, too_small)
# Value too big
> perform_invalid_modify(agmt, attr, too_big)

suites/replication/replica_config_test.py:255:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

o = <lib389.agreement.Agreement object at 0x7f808693bd50>
attr = 'nsds5ReplicaFlowControlPause', value = '9223372036854775807'

def perform_invalid_modify(o, attr, value):
with pytest.raises(ldap.LDAPError) as ei:
> o.replace(attr, value)
E Failed: DID NOT RAISE <class 'ldap.LDAPError'>

suites/replication/replica_config_test.py:113: Failed
XFailed suites/replication/replica_config_test.py::test_agmt_num_modify[nsds5ReplicaProtocolTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.20
topo = <lib389.topologies.TopologyMain object at 0x7f808559d790>
attr = 'nsds5ReplicaProtocolTimeout', too_small = '-1'
too_big = '9223372036854775807'
overflow = '9999999999999999999999999999999999999999999999999999999999999999999'
notnum = 'invalid', valid = '6'

@pytest.mark.xfail(reason="Agreement validation current does not work.")
@pytest.mark.parametrize("attr, too_small, too_big, overflow, notnum, valid", agmt_attrs)
def test_agmt_num_modify(topo, attr, too_small, too_big, overflow, notnum, valid):
"""Test all the number values you can set for a replica config entry

:id: a8b47d4a-a089-4d70-8070-e6181209bf95
:parametrized: yes
:setup: standalone instance
:steps:
1. Replace a value that is too small
2. Replace a value that is too big
3. Replace a value that overflows the int
4. Replace a value with character value (not a number)
5. Replace a vlue with a valid value
:expectedresults:
1. Value is rejected
2. Value is rejected
3. Value is rejected
4. Value is rejected
5. Value is allowed
"""

agmt = agmt_setup(topo)

# Value too small
perform_invalid_modify(agmt, attr, too_small)
# Value too big
> perform_invalid_modify(agmt, attr, too_big)

suites/replication/replica_config_test.py:255:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

o = <lib389.agreement.Agreement object at 0x7f8085638a50>
attr = 'nsds5ReplicaProtocolTimeout', value = '9223372036854775807'

def perform_invalid_modify(o, attr, value):
with pytest.raises(ldap.LDAPError) as ei:
> o.replace(attr, value)
E Failed: DID NOT RAISE <class 'ldap.LDAPError'>

suites/replication/replica_config_test.py:113: Failed
XFailed suites/replication/ruvstore_test.py::test_memoryruv_sync_with_databaseruv 0.04
topo = <lib389.topologies.TopologyMain object at 0x7f8085592690>

@pytest.mark.xfail(reason="No method to safety access DB ruv currently exists online.")
def test_memoryruv_sync_with_databaseruv(topo):
"""Check if memory ruv and database ruv are synced

:id: 5f38ac5f-6353-460d-bf60-49cafffda5b3
:setup: Replication with two masters.
:steps: 1. Add user to server and compare memory ruv and database ruv.
2. Modify description of user and compare memory ruv and database ruv.
3. Modrdn of user and compare memory ruv and database ruv.
4. Delete user and compare memory ruv and database ruv.
:expectedresults:
1. For add user, the memory ruv and database ruv should be the same.
2. For modify operation, the memory ruv and database ruv should be the same.
3. For modrdn operation, the memory ruv and database ruv should be the same.
4. For delete operation, the memory ruv and database ruv should be the same.
"""

log.info('Adding user: {} to master1'.format(TEST_ENTRY_NAME))
users = UserAccounts(topo.ms['master1'], DEFAULT_SUFFIX)
tuser = users.create(properties=USER_PROPERTIES)
> _compare_memoryruv_and_databaseruv(topo, 'add')

suites/replication/ruvstore_test.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

topo = <lib389.topologies.TopologyMain object at 0x7f8085592690>
operation_type = 'add'

def _compare_memoryruv_and_databaseruv(topo, operation_type):
"""Compare the memoryruv and databaseruv for ldap operations"""

log.info('Checking memory ruv for ldap: {} operation'.format(operation_type))
replicas = Replicas(topo.ms['master1'])
replica = replicas.list()[0]
memory_ruv = replica.get_attr_val_utf8('nsds50ruv')

log.info('Checking database ruv for ldap: {} operation'.format(operation_type))
> entry = replicas.get_ruv_entry(DEFAULT_SUFFIX)
E AttributeError: 'Replicas' object has no attribute 'get_ruv_entry'

suites/replication/ruvstore_test.py:81: AttributeError
-------------------------------Captured log call--------------------------------
INFO  tests.suites.replication.ruvstore_test:ruvstore_test.py:136 Adding user: rep2lusr to master1 INFO  tests.suites.replication.ruvstore_test:ruvstore_test.py:75 Checking memory ruv for ldap: add operation INFO  tests.suites.replication.ruvstore_test:ruvstore_test.py:80 Checking database ruv for ldap: add operation
XPassed suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.16
No log output captured.
XPassed suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaBusyWaitTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.19
No log output captured.
XPassed suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaSessionPauseTime--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.21
No log output captured.
XPassed suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaFlowControlWindow--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.22
No log output captured.
XPassed suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaFlowControlPause--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.17
No log output captured.
XPassed suites/replication/replica_config_test.py::test_agmt_num_add[nsds5ReplicaProtocolTimeout--1-9223372036854775807-9999999999999999999999999999999999999999999999999999999999999999999-invalid-6] 0.19
No log output captured.
Skipped suites/config/regression_test.py::test_set_cachememsize_to_custom_value::setup 0.00
('suites/config/regression_test.py', 34, 'Skipped: available memory is too low')
Skipped suites/filter/filterscanlimit_test.py::test_invalid_configuration::setup 0.00
('suites/filter/filterscanlimit_test.py', 172, 'Skipped: https://pagure.io/389-ds-base/issue/50201')
Skipped suites/memory_leaks/range_search_test.py::test_range_search::setup 0.00
('suites/memory_leaks/range_search_test.py', 24, "Skipped: Don't run if ASAN is not enabled")
Skipped suites/migration/export_data_test.py::test_export_data_from_source_host::setup 0.00
('suites/migration/export_data_test.py', 24, 'Skipped: This test is meant to execute in specific test environment')
Skipped suites/migration/import_data_test.py::test_import_data_to_target_host::setup 0.00
('suites/migration/import_data_test.py', 24, 'Skipped: This test is meant to execute in specific test environment')
Skipped tickets/ticket47462_test.py::test_ticket47462::setup 0.00
('tickets/ticket47462_test.py', 39, 'Skipped: Upgrade scripts are supported only on versions < 1.4.x')
Skipped tickets/ticket47815_test.py::test_ticket47815::setup 0.00
('tickets/ticket47815_test.py', 26, 'Skipped: Not implemented, or invalid by nsMemberOf')
Skipped tickets/ticket49121_test.py::test_ticket49121::setup 0.00
('tickets/ticket49121_test.py', 32, "Skipped: Don't run if ASAN is not enabled")
Passed suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, REAL_EQ_ACI)] 0.04
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, REAL_PRES_ACI)] 0.05
No log output captured.
Passed suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, REAL_SUB_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, ROLE_PRES_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, ROLE_SUB_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, COS_EQ_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, COS_PRES_ACI)] 0.05
No log output captured.
Passed suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, COS_SUB_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_positive[(ENG_USER, ENG_MANAGER, LDAPURL_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, REAL_EQ_ACI)] 0.05
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_OU, REAL_PRES_ACI)] 0.05
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, REAL_SUB_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, ROLE_EQ_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, ROLE_PRES_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, ROLE_SUB_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, COS_EQ_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, COS_PRES_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(ENG_USER, SALES_MANAGER, COS_SUB_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(SALES_UESER, SALES_MANAGER, LDAPURL_ACI)] 0.04
No log output captured.
Passed suites/acl/acivattr_test.py::test_negative[(ENG_USER, ENG_MANAGER, ROLE_EQ_ACI)] 0.04
No log output captured.
Passed suites/acl/acl_deny_test.py::test_multi_deny_aci 14.89
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389:acl_deny_test.py:39 Add uid=tuser1,ou=People,dc=example,dc=com INFO  lib389:acl_deny_test.py:50 Add uid=tuser,ou=People,dc=example,dc=com
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_deny_test.py:82 Pass 1 INFO  lib389:acl_deny_test.py:85 Testing two searches behave the same... INFO  lib389:acl_deny_test.py:128 Testing search does not return any entries... INFO  lib389:acl_deny_test.py:82 Pass 2 INFO  lib389:acl_deny_test.py:85 Testing two searches behave the same... INFO  lib389:acl_deny_test.py:128 Testing search does not return any entries... INFO  lib389:acl_deny_test.py:192 Test PASSED
Passed suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[lang-ja] 0.00
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists INFO  tests.suites.acl.acl_test:acl_test.py:77 ========Executing test with 'lang-ja' subtype======== INFO  tests.suites.acl.acl_test:acl_test.py:78 Add a target attribute INFO  tests.suites.acl.acl_test:acl_test.py:81 Add a user attribute INFO  tests.suites.acl.acl_test:acl_test.py:89 Add an ACI with attribute subtype
-------------------------------Captured log call--------------------------------
INFO  tests.suites.acl.acl_test:acl_test.py:119 Search for the added attribute INFO  tests.suites.acl.acl_test:acl_test.py:126 The added attribute was found
Passed suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[binary] 0.00
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.acl.acl_test:acl_test.py:77 ========Executing test with 'binary' subtype======== INFO  tests.suites.acl.acl_test:acl_test.py:78 Add a target attribute INFO  tests.suites.acl.acl_test:acl_test.py:81 Add a user attribute INFO  tests.suites.acl.acl_test:acl_test.py:89 Add an ACI with attribute subtype
-------------------------------Captured log call--------------------------------
INFO  tests.suites.acl.acl_test:acl_test.py:119 Search for the added attribute INFO  tests.suites.acl.acl_test:acl_test.py:126 The added attribute was found
Passed suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[phonetic] 0.00
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.acl.acl_test:acl_test.py:77 ========Executing test with 'phonetic' subtype======== INFO  tests.suites.acl.acl_test:acl_test.py:78 Add a target attribute INFO  tests.suites.acl.acl_test:acl_test.py:81 Add a user attribute INFO  tests.suites.acl.acl_test:acl_test.py:89 Add an ACI with attribute subtype
-------------------------------Captured log call--------------------------------
INFO  tests.suites.acl.acl_test:acl_test.py:119 Search for the added attribute INFO  tests.suites.acl.acl_test:acl_test.py:126 The added attribute was found
Passed suites/acl/acl_test.py::test_mode_default_add_deny 0.02
-------------------------------Captured log setup-------------------------------
INFO  lib389:acl_test.py:234 ######## INITIALIZATION ######## INFO  lib389:acl_test.py:237 Add uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:247 Add cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:251 Add cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:255 Add cn=excepts,cn=accounts,dc=example,dc=com
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:287 ######## mode moddn_aci : ADD (should fail) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:295 Try to add cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:304 Exception (expected): INSUFFICIENT_ACCESS
Passed suites/acl/acl_test.py::test_mode_default_delete_deny 0.01
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:322 ######## DELETE (should fail) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:329 Try to delete cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:334 Exception (expected): INSUFFICIENT_ACCESS
Passed suites/acl/acl_test.py::test_moddn_staging_prod[0-cn=staged user,dc=example,dc=com-cn=accounts,dc=example,dc=com-False] 0.52
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:369 ######## MOVE staging -> Prod (0) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:381 Try to MODDN uid=new_account0,cn=staged user,dc=example,dc=com -> uid=new_account0,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:388 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:392 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:399 Try to MODDN uid=new_account0,cn=staged user,dc=example,dc=com -> uid=new_account0,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_staging_prod[1-cn=staged user,dc=example,dc=com-cn=accounts,dc=example,dc=com-False] 0.28
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:369 ######## MOVE staging -> Prod (1) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:381 Try to MODDN uid=new_account1,cn=staged user,dc=example,dc=com -> uid=new_account1,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:388 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:392 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:399 Try to MODDN uid=new_account1,cn=staged user,dc=example,dc=com -> uid=new_account1,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_staging_prod[2-cn=staged user,dc=example,dc=com-cn=bad*,dc=example,dc=com-True] 0.27
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:369 ######## MOVE staging -> Prod (2) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:381 Try to MODDN uid=new_account2,cn=staged user,dc=example,dc=com -> uid=new_account2,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:388 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:392 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:399 Try to MODDN uid=new_account2,cn=staged user,dc=example,dc=com -> uid=new_account2,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:402 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_staging_prod[3-cn=st*,dc=example,dc=com-cn=accounts,dc=example,dc=com-False] 0.29
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:369 ######## MOVE staging -> Prod (3) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:381 Try to MODDN uid=new_account3,cn=staged user,dc=example,dc=com -> uid=new_account3,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:388 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:392 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:399 Try to MODDN uid=new_account3,cn=staged user,dc=example,dc=com -> uid=new_account3,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_staging_prod[4-cn=bad*,dc=example,dc=com-cn=accounts,dc=example,dc=com-True] 0.30
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:369 ######## MOVE staging -> Prod (4) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:381 Try to MODDN uid=new_account4,cn=staged user,dc=example,dc=com -> uid=new_account4,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:388 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:392 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:399 Try to MODDN uid=new_account4,cn=staged user,dc=example,dc=com -> uid=new_account4,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:402 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_staging_prod[5-cn=st*,dc=example,dc=com-cn=ac*,dc=example,dc=com-False] 0.43
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:369 ######## MOVE staging -> Prod (5) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:381 Try to MODDN uid=new_account5,cn=staged user,dc=example,dc=com -> uid=new_account5,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:388 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:392 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:399 Try to MODDN uid=new_account5,cn=staged user,dc=example,dc=com -> uid=new_account5,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_staging_prod[6-None-cn=ac*,dc=example,dc=com-False] 0.33
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:369 ######## MOVE staging -> Prod (6) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:381 Try to MODDN uid=new_account6,cn=staged user,dc=example,dc=com -> uid=new_account6,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:388 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:392 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:399 Try to MODDN uid=new_account6,cn=staged user,dc=example,dc=com -> uid=new_account6,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_staging_prod[7-cn=st*,dc=example,dc=com-None-False] 0.30
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:369 ######## MOVE staging -> Prod (7) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:381 Try to MODDN uid=new_account7,cn=staged user,dc=example,dc=com -> uid=new_account7,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:388 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:392 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:399 Try to MODDN uid=new_account7,cn=staged user,dc=example,dc=com -> uid=new_account7,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_staging_prod[8-None-None-False] 0.32
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:369 ######## MOVE staging -> Prod (8) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:381 Try to MODDN uid=new_account8,cn=staged user,dc=example,dc=com -> uid=new_account8,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:388 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:392 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:399 Try to MODDN uid=new_account8,cn=staged user,dc=example,dc=com -> uid=new_account8,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_staging_prod_9 1.31
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:445 ######## MOVE staging -> Prod (9) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:458 Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:465 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:471 Disable the moddn right INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:476 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:484 Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:491 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:513 Try to MODDN uid=new_account9,cn=staged user,dc=example,dc=com -> uid=new_account9,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:524 Enable the moddn right INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:528 ######## MOVE staging -> Prod (10) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:540 Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:547 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:564 Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:571 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:580 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:586 Try to MODDN uid=new_account10,cn=staged user,dc=example,dc=com -> uid=new_account10,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_moddn_prod_staging 0.54
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:615 ######## MOVE staging -> Prod (11) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:628 Try to MODDN uid=new_account11,cn=staged user,dc=example,dc=com -> uid=new_account11,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:635 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:639 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:645 Try to MODDN uid=new_account11,cn=staged user,dc=example,dc=com -> uid=new_account11,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:660 Try to move back MODDN uid=new_account11,cn=accounts,dc=example,dc=com -> uid=new_account11,cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:667 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_check_repl_M2_to_M1 1.11
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:697 Bind as cn=Directory Manager (M2) INFO  lib389:acl_test.py:717 Update (M2) uid=new_account12,cn=staged user,dc=example,dc=com (description) INFO  lib389:acl_test.py:730 Update uid=new_account12,cn=staged user,dc=example,dc=com (description) replicated on M1
Passed suites/acl/acl_test.py::test_moddn_staging_prod_except 0.31
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:755 ######## MOVE staging -> Prod (13) ######## INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:767 Try to MODDN uid=new_account13,cn=staged user,dc=example,dc=com -> uid=new_account13,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:774 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:778 ######## MOVE to and from equality filter ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:161 Add a DENY aci under cn=excepts,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:785 Try to MODDN uid=new_account13,cn=staged user,dc=example,dc=com -> uid=new_account13,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:791 ######## MOVE staging -> Prod/Except (14) ######## INFO  lib389:acl_test.py:797 Try to MODDN uid=new_account14,cn=staged user,dc=example,dc=com -> uid=new_account14,cn=excepts,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:804 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:161 Add a DENY aci under cn=excepts,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_mode_default_ger_no_moddn 0.00
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:831 ######## mode moddn_aci : GER no moddn ######## INFO  lib389:acl_test.py:842 dn: cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: cn=excepts,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:842 dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:845 ######## entryLevelRights: b'v'
Passed suites/acl/acl_test.py::test_mode_default_ger_with_moddn 0.26
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:869 ######## mode moddn_aci: GER with moddn ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: cn=excepts,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:887 dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:890 ######## entryLevelRights: b'vn' INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_mode_legacy_ger_no_moddn1 0.11
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:920 ######## Disable the moddn aci mod ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:924 ######## mode legacy 1: GER no moddn ######## INFO  lib389:acl_test.py:934 dn: cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: cn=excepts,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:934 dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:937 ######## entryLevelRights: b'v'
Passed suites/acl/acl_test.py::test_mode_legacy_ger_no_moddn2 0.19
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:963 ######## Disable the moddn aci mod ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:967 ######## mode legacy 2: GER no moddn ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: cn=excepts,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:984 dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:987 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com
Passed suites/acl/acl_test.py::test_mode_legacy_ger_with_moddn 0.24
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:1023 ######## Disable the moddn aci mod ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:1027 ######## mode legacy : GER with moddn ######## INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager INFO  lib389:acl_test.py:140 Bind as uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: cn=excepts,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1049 dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1052 ######## entryLevelRights: b'vn' INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager
Passed suites/acl/acl_test.py::test_rdn_write_get_ger 0.01
-------------------------------Captured log setup-------------------------------
INFO  lib389:acl_test.py:1063 ######## Add entry tuser ########
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:1087 ######## GER rights for anonymous ######## INFO  lib389:acl_test.py:1097 dn: dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=Directory Administrators,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: ou=Groups,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: ou=People,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: ou=Special Users,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=Accounting Managers,ou=Groups,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=HR Managers,ou=Groups,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=QA Managers,ou=Groups,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=PD Managers,ou=Groups,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=replication_managers,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: ou=Services,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:63701,ou=Services,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:63702,ou=Services,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=bind_entry,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=excepts,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account0,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account1,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account2,cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account3,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account4,cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account5,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account6,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account7,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account8,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account9,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account10,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account11,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account12,cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account13,cn=accounts,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account14,cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account15,cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account16,cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account17,cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account18,cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: uid=new_account19,cn=staged user,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v' INFO  lib389:acl_test.py:1097 dn: cn=tuser,dc=example,dc=com INFO  lib389:acl_test.py:1099 ######## entryLevelRights: b'v'
Passed suites/acl/acl_test.py::test_rdn_write_modrdn_anonymous 0.02
-------------------------------Captured log call--------------------------------
INFO  lib389:acl_test.py:1126 dn: INFO  lib389:acl_test.py:1128 ######## 'objectClass': [b'top'] INFO  lib389:acl_test.py:1128 ######## 'defaultnamingcontext': [b'dc=example,dc=com'] INFO  lib389:acl_test.py:1128 ######## 'dataversion': [b'020200223001840'] INFO  lib389:acl_test.py:1128 ######## 'netscapemdsuffix': [b'cn=ldap://dc=ci-vm-10-0-137-84,dc=hosted,dc=upshift,dc=rdu2,dc=redhat,dc=com:39001'] INFO  lib389:acl_test.py:1133 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:acl_test.py:1140 The entry was not renamed (expected) INFO  lib389:acl_test.py:134 Bind as cn=Directory Manager
Passed suites/acl/deladd_test.py::test_allow_delete_access_to_groupdn 0.06
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/deladd_test.py::test_allow_add_access_to_anyone 0.05
No log output captured.
Passed suites/acl/deladd_test.py::test_allow_delete_access_to_anyone 0.04
No log output captured.
Passed suites/acl/deladd_test.py::test_allow_delete_access_not_to_userdn 0.04
No log output captured.
Passed suites/acl/deladd_test.py::test_allow_delete_access_not_to_group 0.05
No log output captured.
Passed suites/acl/deladd_test.py::test_allow_add_access_to_parent 0.04
No log output captured.
Passed suites/acl/deladd_test.py::test_allow_delete_access_to_parent 0.05
No log output captured.
Passed suites/acl/deladd_test.py::test_allow_delete_access_to_dynamic_group 0.05
No log output captured.
Passed suites/acl/deladd_test.py::test_allow_delete_access_to_dynamic_group_uid 0.05
No log output captured.
Passed suites/acl/deladd_test.py::test_allow_delete_access_not_to_dynamic_group 0.05
No log output captured.
Passed suites/acl/enhanced_aci_modrnd_test.py::test_enhanced_aci_modrnd 0.01
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO  tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:32 Add a container: ou=test_ou_1,dc=example,dc=com INFO  tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:39 Add a container: ou=test_ou_2,dc=example,dc=com INFO  tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:46 Add a user: cn=test_user,ou=test_ou_1,dc=example,dc=com INFO  tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:61 Add an ACI 'allow (all)' by cn=test_user,ou=test_ou_1,dc=example,dc=com to the ou=test_ou_1,dc=example,dc=com INFO  tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:65 Add an ACI 'allow (all)' by cn=test_user,ou=test_ou_1,dc=example,dc=com to the ou=test_ou_2,dc=example,dc=com
-------------------------------Captured log call--------------------------------
INFO  tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:95 Bind as cn=test_user,ou=test_ou_1,dc=example,dc=com INFO  tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:100 User MODRDN operation from ou=test_ou_1,dc=example,dc=com to ou=test_ou_2,dc=example,dc=com INFO  tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:105 Check there is no user in ou=test_ou_1,dc=example,dc=com INFO  tests.suites.acl.enhanced_aci_modrnd_test:enhanced_aci_modrnd_test.py:111 Check there is our user in ou=test_ou_2,dc=example,dc=com
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_five 0.05
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_six 0.04
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_seven 0.02
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_eight 0.02
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_nine 0.02
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_ten 0.04
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_eleven 0.03
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_twelve 0.02
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_fourteen 0.05
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_fifteen 0.04
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_sixteen 0.02
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_seventeen 0.02
No log output captured.
Passed suites/acl/globalgroup_part2_test.py::test_undefined_in_group_eval_eighteen 0.11
No log output captured.
Passed suites/acl/globalgroup_test.py::test_caching_changes 0.06
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/globalgroup_test.py::test_deny_group_member_all_rights_to_user 0.05
No log output captured.
Passed suites/acl/globalgroup_test.py::test_deny_group_member_all_rights_to_group_members 0.03
No log output captured.
Passed suites/acl/globalgroup_test.py::test_deeply_nested_groups_aci_denial 0.05
No log output captured.
Passed suites/acl/globalgroup_test.py::test_deeply_nested_groups_aci_denial_two 0.02
No log output captured.
Passed suites/acl/globalgroup_test.py::test_deeply_nested_groups_aci_allow 0.02
No log output captured.
Passed suites/acl/globalgroup_test.py::test_deeply_nested_groups_aci_allow_two 0.02
No log output captured.
Passed suites/acl/globalgroup_test.py::test_undefined_in_group_eval 0.02
No log output captured.
Passed suites/acl/globalgroup_test.py::test_undefined_in_group_eval_two 0.02
No log output captured.
Passed suites/acl/globalgroup_test.py::test_undefined_in_group_eval_three 0.02
No log output captured.
Passed suites/acl/globalgroup_test.py::test_undefined_in_group_eval_four 0.04
No log output captured.
Passed suites/acl/keywords_part2_test.py::test_access_from_certain_network_only_ip 4.22
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/keywords_part2_test.py::test_connectin_from_an_unauthorized_network 0.36
No log output captured.
Passed suites/acl/keywords_part2_test.py::test_ip_keyword_test_noip_cannot 0.08
No log output captured.
Passed suites/acl/keywords_part2_test.py::test_user_can_access_the_data_at_any_time 0.09
No log output captured.
Passed suites/acl/keywords_part2_test.py::test_user_can_access_the_data_only_in_the_morning 0.08
No log output captured.
Passed suites/acl/keywords_part2_test.py::test_user_can_access_the_data_only_in_the_afternoon 0.07
No log output captured.
Passed suites/acl/keywords_part2_test.py::test_timeofday_keyword 1.37
No log output captured.
Passed suites/acl/keywords_part2_test.py::test_dayofweek_keyword_test_everyday_can_access 0.08
No log output captured.
Passed suites/acl/keywords_part2_test.py::test_dayofweek_keyword_today_can_access 0.08
No log output captured.
Passed suites/acl/keywords_part2_test.py::test_user_cannot_access_the_data_at_all 0.08
No log output captured.
Passed suites/acl/keywords_test.py::test_user_binds_with_a_password_and_can_access_the_data 0.05
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/keywords_test.py::test_user_binds_with_a_bad_password_and_cannot_access_the_data 0.01
No log output captured.
Passed suites/acl/keywords_test.py::test_anonymous_user_cannot_access_the_data 0.02
No log output captured.
Passed suites/acl/keywords_test.py::test_authenticated_but_has_no_rigth_on_the_data 0.04
No log output captured.
Passed suites/acl/keywords_test.py::test_the_bind_client_is_accessing_the_directory 0.02
No log output captured.
Passed suites/acl/keywords_test.py::test_users_binds_with_a_password_and_can_access_the_data 0.01
No log output captured.
Passed suites/acl/keywords_test.py::test_user_binds_without_any_password_and_cannot_access_the_data 0.02
No log output captured.
Passed suites/acl/keywords_test.py::test_user_can_access_the_data_when_connecting_from_any_machine 0.04
No log output captured.
Passed suites/acl/keywords_test.py::test_user_can_access_the_data_when_connecting_from_internal_ds_network_only 0.04
No log output captured.
Passed suites/acl/keywords_test.py::test_user_can_access_the_data_when_connecting_from_some_network_only 0.04
No log output captured.
Passed suites/acl/keywords_test.py::test_from_an_unauthorized_network 0.05
No log output captured.
Passed suites/acl/keywords_test.py::test_user_cannot_access_the_data_when_connecting_from_an_unauthorized_network_2 0.06
No log output captured.
Passed suites/acl/keywords_test.py::test_user_cannot_access_the_data_if_not_from_a_certain_domain 0.04
No log output captured.
Passed suites/acl/keywords_test.py::test_dnsalias_keyword_test_nodns_cannot 1.11
No log output captured.
Passed suites/acl/keywords_test.py::test_user_can_access_from_ipv4_or_ipv6_address[127.0.0.1] 0.04
No log output captured.
Passed suites/acl/keywords_test.py::test_user_can_access_from_ipv4_or_ipv6_address[[::1]] 0.01
No log output captured.
Passed suites/acl/misc_test.py::test_accept_aci_in_addition_to_acl 0.45
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/misc_test.py::test_more_then_40_acl_will_crash_slapd 0.25
-------------------------------Captured log setup-------------------------------
INFO  lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS
Passed suites/acl/misc_test.py::test_search_access_should_not_include_read_access 0.01
-------------------------------Captured log setup-------------------------------
INFO  lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS
Passed suites/acl/misc_test.py::test_only_allow_some_targetattr 0.04
-------------------------------Captured log setup-------------------------------
INFO  lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS
Passed suites/acl/misc_test.py::test_only_allow_some_targetattr_two 0.66
-------------------------------Captured log setup-------------------------------
INFO  lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS
Passed suites/acl/misc_test.py::test_memberurl_needs_to_be_normalized 0.11
-------------------------------Captured log setup-------------------------------
INFO  lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS
Passed suites/acl/misc_test.py::test_greater_than_200_acls_can_be_created 5.31
-------------------------------Captured log setup-------------------------------
INFO  lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS
Passed suites/acl/misc_test.py::test_server_bahaves_properly_with_very_long_attribute_names 0.05
-------------------------------Captured log setup-------------------------------
INFO  lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS
Passed suites/acl/misc_test.py::test_do_bind_as_201_distinct_users 17.96
-------------------------------Captured log setup-------------------------------
INFO  lib389:misc_test.py:65 Exception (expected): ALREADY_EXISTS
Passed suites/acl/modify_test.py::test_allow_write_access_to_targetattr_with_a_single_attribute 0.82
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/modify_test.py::test_allow_write_access_to_targetattr_with_multiple_attibutes 0.08
No log output captured.
Passed suites/acl/modify_test.py::test_allow_write_access_to_userdn_all 0.10
No log output captured.
Passed suites/acl/modify_test.py::test_allow_write_access_to_userdn_with_wildcards_in_dn 0.05
No log output captured.
Passed suites/acl/modify_test.py::test_allow_write_access_to_userdn_with_multiple_dns 0.18
No log output captured.
Passed suites/acl/modify_test.py::test_allow_write_access_to_target_with_wildcards 0.17
No log output captured.
Passed suites/acl/modify_test.py::test_allow_write_access_to_userdnattr 0.10
No log output captured.
Passed suites/acl/modify_test.py::test_allow_selfwrite_access_to_anyone 0.13
No log output captured.
Passed suites/acl/modify_test.py::test_uniquemember_should_also_be_the_owner 0.18
No log output captured.
Passed suites/acl/modify_test.py::test_aci_with_both_allow_and_deny 0.13
No log output captured.
Passed suites/acl/modify_test.py::test_allow_owner_to_modify_entry 0.08
No log output captured.
Passed suites/acl/modrdn_test.py::test_allow_write_privilege_to_anyone 0.27
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/modrdn_test.py::test_allow_write_privilege_to_dynamic_group_with_scope_set_to_base_in_ldap_url 0.54
No log output captured.
Passed suites/acl/modrdn_test.py::test_write_access_to_naming_atributes 0.12
No log output captured.
Passed suites/acl/modrdn_test.py::test_write_access_to_naming_atributes_two 0.08
No log output captured.
Passed suites/acl/modrdn_test.py::test_access_aci_list_contains_any_deny_rule 0.11
No log output captured.
Passed suites/acl/modrdn_test.py::test_renaming_target_entry 0.06
No log output captured.
Passed suites/acl/repeated_ldap_add_test.py::test_repeated_ldap_add 34.39
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
------------------------------Captured stdout call------------------------------
uid=buser123,ou=BOU,dc=example,dc=com inactivated.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:184 Testing Bug 1347760 - Information disclosure via repeated use of LDAP ADD operation, etc. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:186 Disabling accesslog logbuffering INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:189 Bind as {cn=Directory Manager,password} INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:192 Adding ou=BOU a bind user belongs to. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:197 Adding a bind user. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:204 Adding a test user. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:211 Deleting aci in dc=example,dc=com. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:214 While binding as DM, acquire an access log path and instance dir INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:220 Bind case 1. the bind user has no rights to read the entry itself, bind should be successful. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:221 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,buser123} who has no access rights. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:229 Access log path: /var/log/dirsrv/slapd-standalone1/access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:232 Bind case 2-1. the bind user does not exist, bind should fail with error INVALID_CREDENTIALS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:233 Bind as {uid=bogus,dc=example,dc=com,bogus} who does not exist. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:237 Exception (expected): INVALID_CREDENTIALS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:238 Desc Invalid credentials INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:246 Cause found - 22/Feb/2020:19:21:07.046491879 -0500] conn=1 op=11 RESULT err=49 tag=97 nentries=0 etime=0.005023033 - No such entry INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:250 Bind case 2-2. the bind user's suffix does not exist, bind should fail with error INVALID_CREDENTIALS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:251 Bind as {uid=bogus,ou=people,dc=bogus,bogus} who does not exist. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:260 Cause found - 22/Feb/2020:19:21:09.054855176 -0500] conn=1 op=12 RESULT err=49 tag=97 nentries=0 etime=0.004247171 - No suffix for bind dn found INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:264 Bind case 2-3. the bind user's password is wrong, bind should fail with error INVALID_CREDENTIALS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:265 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,bogus} who does not exist. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:269 Exception (expected): INVALID_CREDENTIALS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:270 Desc Invalid credentials INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:278 Cause found - [22/Feb/2020:19:21:11.086019632 -0500] conn=1 op=13 RESULT err=49 tag=97 nentries=0 etime=0.027238340 - Invalid credentials INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:281 Adding aci for uid=buser123,ou=BOU,dc=example,dc=com to ou=BOU,dc=example,dc=com. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:283 aci: (targetattr="*")(version 3.0; acl "buser123"; allow(all) userdn = "ldap:///uid=buser123,ou=BOU,dc=example,dc=com";) INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:284 Bind as {cn=Directory Manager,password} INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:289 Bind case 3. the bind user has the right to read the entry itself, bind should be successful. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:290 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,buser123} which should be ok. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:293 The following operations are against the subtree the bind user uid=buser123,ou=BOU,dc=example,dc=com has no rights. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:298 Search case 1. the bind user has no rights to read the search entry, it should return no search results with <class 'ldap.SUCCESS'> INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Searching existing entry uid=tuser0,ou=people,dc=example,dc=com, which should be ok. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:141 Search should return none INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:304 Search case 2-1. the search entry does not exist, the search should return no search results with SUCCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Searching non-existing entry uid=bogus,dc=example,dc=com, which should be ok. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:141 Search should return none INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:310 Search case 2-2. the search entry does not exist, the search should return no search results with SUCCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Searching non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should be ok. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:141 Search should return none INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:317 Add case 1. the bind user has no rights AND the adding entry exists, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Adding existing entry uid=tuser0,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:323 Add case 2-1. the bind user has no rights AND the adding entry does not exist, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Adding non-existing entry uid=bogus,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:329 Add case 2-2. the bind user has no rights AND the adding entry does not exist, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Adding non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:336 Modify case 1. the bind user has no rights AND the modifying entry exists, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Modifying existing entry uid=tuser0,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:342 Modify case 2-1. the bind user has no rights AND the modifying entry does not exist, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Modifying non-existing entry uid=bogus,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:348 Modify case 2-2. the bind user has no rights AND the modifying entry does not exist, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Modifying non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:355 Modrdn case 1. the bind user has no rights AND the renaming entry exists, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Renaming existing entry uid=tuser0,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:361 Modrdn case 2-1. the bind user has no rights AND the renaming entry does not exist, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Renaming non-existing entry uid=bogus,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:367 Modrdn case 2-2. the bind user has no rights AND the renaming entry does not exist, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Renaming non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:373 Modrdn case 3. the bind user has no rights AND the node moving an entry to exists, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Moving to existing superior ou=groups,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:379 Modrdn case 4-1. the bind user has no rights AND the node moving an entry to does not, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Moving to non-existing superior ou=OU,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:385 Modrdn case 4-2. the bind user has no rights AND the node moving an entry to does not, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Moving to non-existing superior ou=OU,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:392 Delete case 1. the bind user has no rights AND the deleting entry exists, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Deleting existing entry uid=tuser0,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:398 Delete case 2-1. the bind user has no rights AND the deleting entry does not exist, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Deleting non-existing entry uid=bogus,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:404 Delete case 2-2. the bind user has no rights AND the deleting entry does not exist, it should fail with INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Deleting non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should fail with INSUFFICIENT_ACCESS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): INSUFFICIENT_ACCESS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Insufficient access INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:407 EXTRA: Check no regressions INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:408 Adding aci for uid=buser123,ou=BOU,dc=example,dc=com to dc=example,dc=com. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:410 Bind as {cn=Directory Manager,password} INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:415 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,buser123}. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:425 Search case. the search entry does not exist, the search should fail with NO_SUCH_OBJECT INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Searching non-existing entry uid=bogus,ou=people,dc=example,dc=com, which should fail with NO_SUCH_OBJECT. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): NO_SUCH_OBJECT INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc No such object INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:431 Add case. the adding entry already exists, it should fail with ALREADY_EXISTS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Adding existing entry uid=tuser0,ou=people,dc=example,dc=com, which should fail with ALREADY_EXISTS. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): ALREADY_EXISTS INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc Already exists INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:436 Modify case. the modifying entry does not exist, it should fail with NO_SUCH_OBJECT INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Modifying non-existing entry uid=bogus,dc=example,dc=com, which should fail with NO_SUCH_OBJECT. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): NO_SUCH_OBJECT INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc No such object INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:441 Modrdn case 1. the renaming entry does not exist, it should fail with NO_SUCH_OBJECT INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Renaming non-existing entry uid=bogus,dc=example,dc=com, which should fail with NO_SUCH_OBJECT. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): NO_SUCH_OBJECT INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc No such object INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:446 Modrdn case 2. the node moving an entry to does not, it should fail with NO_SUCH_OBJECT INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Moving to non-existing superior ou=OU,dc=example,dc=com, which should fail with NO_SUCH_OBJECT. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): NO_SUCH_OBJECT INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc No such object INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:451 Delete case. the deleting entry does not exist, it should fail with NO_SUCH_OBJECT INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:108 Deleting non-existing entry uid=bogus,dc=example,dc=com, which should fail with NO_SUCH_OBJECT. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:131 Exception (expected): NO_SUCH_OBJECT INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:132 Desc No such object INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:148 PASSED INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:454 Inactivate uid=buser123,ou=BOU,dc=example,dc=com INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:461 ['/usr/sbin/ns-inactivate.pl', '-Z', 'standalone1', '-D', 'cn=Directory Manager', '-w', 'password', '-I', 'uid=buser123,ou=BOU,dc=example,dc=com'] INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:465 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,buser123} which should fail with UNWILLING_TO_PERFORM. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:469 Exception (expected): UNWILLING_TO_PERFORM INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:470 Desc Server is unwilling to perform INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:473 Bind as {uid=buser123,ou=BOU,dc=example,dc=com,bogus} which should fail with UNWILLING_TO_PERFORM. INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:477 Exception (expected): UNWILLING_TO_PERFORM INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:478 Desc Server is unwilling to perform INFO  tests.suites.acl.repeated_ldap_add_test:repeated_ldap_add_test.py:481 SUCCESS
Passed suites/acl/roledn_test.py::test_mod_seealso_positive[(STEVE_ROLE, NESTED_ROLE_TESTER)] 0.06
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/roledn_test.py::test_mod_seealso_positive[(HARRY_ROLE, NESTED_ROLE_TESTER)] 0.03
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_seealso_positive[(MARY_ROLE, NOT_RULE_ACCESS)] 0.03
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_seealso_positive[(STEVE_ROLE, OR_RULE_ACCESS)] 0.03
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_seealso_positive[(HARRY_ROLE, OR_RULE_ACCESS)] 0.23
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_seealso_positive[(STEVE_ROLE, ALL_ACCESS)] 0.03
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_seealso_positive[(HARRY_ROLE, ALL_ACCESS)] 0.04
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_seealso_positive[(MARY_ROLE, ALL_ACCESS)] 0.04
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_seealso_negative[(MARY_ROLE, NESTED_ROLE_TESTER)] 0.02
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_seealso_negative[(STEVE_ROLE, NOT_RULE_ACCESS)] 0.04
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_seealso_negative[(HARRY_ROLE, NOT_RULE_ACCESS)] 0.04
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_seealso_negative[(MARY_ROLE , OR_RULE_ACCESS)] 0.04
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_anonseealso_positive[NOT_RULE_ACCESS] 0.01
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_anonseealso_positive[ALL_ACCESS] 0.01
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_anonseealso_negaive[NESTED_ROLE_TESTER] 0.02
No log output captured.
Passed suites/acl/roledn_test.py::test_mod_anonseealso_negaive[OR_RULE_ACCESS] 0.01
No log output captured.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_with__target_set_on_non_leaf 0.80
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_with__target_set_on_wildcard_non_leaf 1.05
No log output captured.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_with__target_set_on_wildcard_leaf 0.87
No log output captured.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_equality_search 0.65
No log output captured.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_equality_search_two 0.97
No log output captured.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_substring_search 0.71
No log output captured.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_substring_search_two 0.94
No log output captured.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_boolean_or_of_two_equality_search 0.15
No log output captured.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_to__userdn_two 0.77
No log output captured.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_with_userdn 0.89
No log output captured.
Passed suites/acl/search_real_part2_test.py::test_deny_all_access_with_targetfilter_using_presence_search 0.13
No log output captured.
Passed suites/acl/search_real_part3_test.py::test_deny_search_access_to_userdn_with_ldap_url 0.73
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/search_real_part3_test.py::test_deny_search_access_to_userdn_with_ldap_url_two 0.71
No log output captured.
Passed suites/acl/search_real_part3_test.py::test_deny_search_access_to_userdn_with_ldap_url_matching_all_users 1.03
No log output captured.
Passed suites/acl/search_real_part3_test.py::test_deny_read_access_to_a_dynamic_group 0.65
No log output captured.
Passed suites/acl/search_real_part3_test.py::test_deny_read_access_to_dynamic_group_with_host_port_set_on_ldap_url 0.47
No log output captured.
Passed suites/acl/search_real_part3_test.py::test_deny_read_access_to_dynamic_group_with_scope_set_to_one_in_ldap_url 0.56
No log output captured.
Passed suites/acl/search_real_part3_test.py::test_deny_read_access_to_dynamic_group_two 0.83
No log output captured.
Passed suites/acl/search_real_part3_test.py::test_deny_access_to_group_should_deny_access_to_all_uniquemember 0.75
No log output captured.
Passed suites/acl/search_real_part3_test.py::test_entry_with_lots_100_attributes 9.81
No log output captured.
Passed suites/acl/search_real_part3_test.py::test_groupdnattr_value_is_another_group 0.14
No log output captured.
Passed suites/acl/search_real_test.py::test_deny_all_access_with_target_set 0.90
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/search_real_test.py::test_deny_all_access_to_a_target_with_wild_card 0.65
No log output captured.
Passed suites/acl/search_real_test.py::test_deny_all_access_without_a_target_set 0.97
No log output captured.
Passed suites/acl/search_real_test.py::test_deny_read_search_and_compare_access_with_target_and_targetattr_set 0.73
No log output captured.
Passed suites/acl/search_real_test.py::test_deny_read_access_to_multiple_groupdns 0.96
No log output captured.
Passed suites/acl/search_real_test.py::test_deny_all_access_to_userdnattr 0.76
No log output captured.
Passed suites/acl/search_real_test.py::test_deny_all_access_with__target_set 0.88
No log output captured.
Passed suites/acl/search_real_test.py::test_deny_all_access_with__targetattr_set 1.32
No log output captured.
Passed suites/acl/search_real_test.py::test_deny_all_access_with_targetattr_set 0.81
No log output captured.
Passed suites/acl/selfdn_permissions_test.py::test_selfdn_permission_add 0.63
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389:selfdn_permissions_test.py:58 Add OCticket47653 that allows 'member' attribute INFO  lib389:selfdn_permissions_test.py:63 Add cn=bind_entry, dc=example,dc=com
-------------------------------Captured log call--------------------------------
INFO  lib389:selfdn_permissions_test.py:106 ######################### ADD ###################### INFO  lib389:selfdn_permissions_test.py:109 Bind as cn=bind_entry, dc=example,dc=com INFO  lib389:selfdn_permissions_test.py:139 Try to add Add cn=test_entry, dc=example,dc=com (aci is missing): dn: cn=test_entry, dc=example,dc=com cn: test_entry member: cn=bind_entry, dc=example,dc=com objectclass: top objectclass: person objectclass: OCticket47653 postalAddress: here postalCode: 1234 sn: test_entry INFO  lib389:selfdn_permissions_test.py:143 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:selfdn_permissions_test.py:147 Bind as cn=Directory Manager and add the ADD SELFDN aci INFO  lib389:selfdn_permissions_test.py:159 Bind as cn=bind_entry, dc=example,dc=com INFO  lib389:selfdn_permissions_test.py:164 Try to add Add cn=test_entry, dc=example,dc=com (member is missing) INFO  lib389:selfdn_permissions_test.py:172 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:selfdn_permissions_test.py:178 Try to add Add cn=test_entry, dc=example,dc=com (with several member values) INFO  lib389:selfdn_permissions_test.py:181 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:selfdn_permissions_test.py:184 Try to add Add cn=test_entry, dc=example,dc=com should be successful
Passed suites/acl/selfdn_permissions_test.py::test_selfdn_permission_search 0.37
-------------------------------Captured log call--------------------------------
INFO  lib389:selfdn_permissions_test.py:205 ######################### SEARCH ###################### INFO  lib389:selfdn_permissions_test.py:207 Bind as cn=bind_entry, dc=example,dc=com INFO  lib389:selfdn_permissions_test.py:211 Try to search cn=test_entry, dc=example,dc=com (aci is missing) INFO  lib389:selfdn_permissions_test.py:216 Bind as cn=Directory Manager and add the READ/SEARCH SELFDN aci INFO  lib389:selfdn_permissions_test.py:229 Bind as cn=bind_entry, dc=example,dc=com INFO  lib389:selfdn_permissions_test.py:233 Try to search cn=test_entry, dc=example,dc=com should be successful
Passed suites/acl/selfdn_permissions_test.py::test_selfdn_permission_modify 0.53
-------------------------------Captured log call--------------------------------
INFO  lib389:selfdn_permissions_test.py:256 Bind as cn=bind_entry, dc=example,dc=com INFO  lib389:selfdn_permissions_test.py:259 ######################### MODIFY ###################### INFO  lib389:selfdn_permissions_test.py:263 Try to modify cn=test_entry, dc=example,dc=com (aci is missing) INFO  lib389:selfdn_permissions_test.py:267 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:selfdn_permissions_test.py:271 Bind as cn=Directory Manager and add the WRITE SELFDN aci INFO  lib389:selfdn_permissions_test.py:284 Bind as cn=bind_entry, dc=example,dc=com INFO  lib389:selfdn_permissions_test.py:288 Try to modify cn=test_entry, dc=example,dc=com. It should succeeds
Passed suites/acl/selfdn_permissions_test.py::test_selfdn_permission_delete 0.26
-------------------------------Captured log call--------------------------------
INFO  lib389:selfdn_permissions_test.py:313 ######################### DELETE ###################### INFO  lib389:selfdn_permissions_test.py:316 Bind as cn=bind_entry, dc=example,dc=com INFO  lib389:selfdn_permissions_test.py:321 Try to delete cn=test_entry, dc=example,dc=com (aci is missing) INFO  lib389:selfdn_permissions_test.py:324 Exception (expected): INSUFFICIENT_ACCESS INFO  lib389:selfdn_permissions_test.py:328 Bind as cn=Directory Manager and add the READ/SEARCH SELFDN aci INFO  lib389:selfdn_permissions_test.py:340 Bind as cn=bind_entry, dc=example,dc=com INFO  lib389:selfdn_permissions_test.py:344 Try to delete cn=test_entry, dc=example,dc=com should be successful
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_1] 0.02
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_2] 0.17
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_3] 0.02
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_4] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_5] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_6] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_7] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_8] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_9] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_10] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_11] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_12] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_13] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_14] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_15] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_16] 0.06
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_17] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_19] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_21] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_22] 0.06
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_targattrfilters_23] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Missing_acl_mispel] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Missing_acl_string] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Wrong_version_string] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Missing_version_string] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Authenticate_statement] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Multiple_targets] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Target_set_to_self] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_target_set_with_ldap_instead_of_ldap] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_target_set_with_more_than_three] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_target_set_with_less_than_three] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_bind_rule_set_with_less_than_three] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Use_semicolon_instead_of_comma_in_permission] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Use_double_equal_instead_of_equal_in_the_target] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_use_double_equal_instead_of_equal_in_user_and_group_access] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_donot_cote_the_name_of_the_aci] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_extra_parentheses_case_1] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_extra_parentheses_case_2] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_extra_parentheses_case_3] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_no_semicolon_at_the_end_of_the_aci] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_a_character_different_of_a_semicolon_at_the_end_of_the_aci] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_bad_filter] 0.02
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Use_double_equal_instead_of_equal_in_the_targattrfilters] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_aci_invalid_syntax[test_Use_double_equal_instead_of_equal_inside_the_targattrfilters] 0.01
No log output captured.
Passed suites/acl/syntax_test.py::test_target_set_above_the_entry_test 0.01
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(CAN,ROLEDNACCESS)] 0.03
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(CAN,USERDNACCESS)] 0.01
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(CAN,GROUPDNACCESS)] 0.01
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(CAN,LDAPURLACCESS)] 0.01
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(CAN,ATTRNAMEACCESS)] 0.01
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_0, OU_2)] 0.06
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_1,ANCESTORS)] 0.04
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_2,GRANDPARENTS)] 0.04
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_4,OU_2)] 0.05
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_4, ANCESTORS)] 0.01
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_4,GRANDPARENTS)] 0.02
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_4,PARENTS)] 0.01
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_positive[(LEVEL_4,CHILDREN)] 0.02
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(CANNOT,ROLEDNACCESS)] 0.04
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(CANNOT,USERDNACCESS)] 0.08
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(CANNOT,GROUPDNACCESS)] 0.02
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(CANNOT,LDAPURLACCESS)] 0.02
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(CANNOT,ATTRNAMEACCESS)] 0.01
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_0, ANCESTORS)] 0.04
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_0,GRANDPARENTS)] 0.02
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_0,PARENTS)] 0.02
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_0,CHILDREN)] 0.02
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_2,PARENTS)] 0.04
No log output captured.
Passed suites/acl/userattr_test.py::test_mod_see_also_negative[(LEVEL_4,GRANDSONS)] 0.04
No log output captured.
Passed suites/acl/userattr_test.py::test_last_three[uid=Ananda Borah,ou=Accounting,dc=example,dc=com-uid=USERDNACCESS,ou=Accounting,dc=example,dc=com] 0.04
No log output captured.
Passed suites/acl/userattr_test.py::test_last_three[uid=Ananda Borah,ou=Accounting,dc=example,dc=com-uid=ROLEDNACCESS,ou=Accounting,dc=example,dc=com] 0.02
No log output captured.
Passed suites/acl/userattr_test.py::test_last_three[uid=Ananda Borah,ou=Accounting,dc=example,dc=com-uid=GROUPDNACCESS,ou=Accounting,dc=example,dc=com] 0.02
No log output captured.
Passed suites/acl/valueacl_part2_test.py::test_we_can_search_as_expected 0.26
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/valueacl_part2_test.py::test_we_can_mod_title_as_expected 0.04
No log output captured.
Passed suites/acl/valueacl_part2_test.py::test_modify_with_multiple_filters 0.04
No log output captured.
Passed suites/acl/valueacl_part2_test.py::test_denied_by_multiple_filters 0.09
No log output captured.
Passed suites/acl/valueacl_part2_test.py::test_allowed_add_one_attribute 0.04
No log output captured.
Passed suites/acl/valueacl_part2_test.py::test_cannot_add_an_entry_with_attribute_values_we_are_not_allowed_add 0.05
No log output captured.
Passed suites/acl/valueacl_part2_test.py::test_on_modrdn 0.03
No log output captured.
Passed suites/acl/valueacl_part2_test.py::test_on_modrdn_allow 0.04
No log output captured.
Passed suites/acl/valueacl_part2_test.py::test_targattrfilters_keyword 0.10
No log output captured.
Passed suites/acl/valueacl_test.py::test_delete_an_attribute_value_we_are_not_allowed_to_delete 0.05
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/acl/valueacl_test.py::test_donot_allow_write_access_to_title_if_value_is_not_architect 0.05
No log output captured.
Passed suites/acl/valueacl_test.py::test_delete_an_attribute_value_we_are_allowed_to_delete 0.04
No log output captured.
Passed suites/acl/valueacl_test.py::test_delete_an_attribute_value_we_are_not_allowed_to_deleted 0.04
No log output captured.
Passed suites/acl/valueacl_test.py::test_allow_modify_replace 0.06
No log output captured.
Passed suites/acl/valueacl_test.py::test_allow_modify_delete 0.06
No log output captured.
Passed suites/acl/valueacl_test.py::test_replace_an_attribute_if_we_lack 0.06
No log output captured.
Passed suites/acl/valueacl_test.py::test_remove_an_attribute_if_we_have_del_rights_to_all_attr_value 0.04
No log output captured.
Passed suites/acl/valueacl_test.py::test_remove_an_attribute_if_we_donot_have_del_rights_to_all_attr_value 0.05
No log output captured.
Passed suites/acl/valueacl_test.py::test_remove_an_attribute_if_we_have_del_rights_to_all_attr_values 0.05
No log output captured.
Passed suites/acl/valueacl_test.py::test_cantnot_delete_an_entry_with_attribute_values_we_are_not_allowed_delete 0.05
No log output captured.
Passed suites/acl/valueacl_test.py::test_we_can_add_and_delete_an_entry_with_attribute_values_we_are_allowed_add_and_delete 0.05
No log output captured.
Passed suites/acl/valueacl_test.py::test_allow_title 0.05
No log output captured.
Passed suites/acl/valueacl_test.py::test_allow_to_modify 0.05
No log output captured.
Passed suites/acl/valueacl_test.py::test_selfwrite_does_not_confer_write_on_a_targattrfilters_atribute 0.04
No log output captured.
Passed suites/acl/valueacl_test.py::test_selfwrite_continues_to_give_rights_to_attr_in_targetattr_list 0.04
No log output captured.
Passed suites/acl/valueacl_test.py::test_add_an_attribute_value_we_are_allowed_to_add_with_ldapanyone 0.04
No log output captured.
Passed suites/acl/valueacl_test.py::test_hierarchy 0.07
No log output captured.
Passed suites/acl/valueacl_test.py::test_targattrfilters_and_search_permissions_and_that_ldapmodify_works_as_expected 0.04
No log output captured.
Passed suites/acl/valueacl_test.py::test_targattrfilters_and_search_permissions_and_that_ldapmodify_works_as_expected_two 0.01
No log output captured.
Passed suites/attr_encryption/attr_encryption_test.py::test_basic 6.15
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:35 Enable TLS for attribute encryption INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:38 Enables attribute encryption INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:42 Enables attribute encryption for employeeNumber and telephoneNumber INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:46 Add a test user with encrypted attributes
-------------------------------Captured log call--------------------------------
INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:80 Restart the server INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:86 Extracting values of cn from the list of objects in encrypt_attrs INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:87 And appending the cn values in a list INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:92 Check employeenumber encryption is enabled INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:95 Check telephoneNumber encryption is enabled INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:98 Check that encrypted attribute is present for user i.e. telephonenumber
Passed suites/attr_encryption/attr_encryption_test.py::test_export_import_ciphertext 13.66
------------------------------Captured stderr call------------------------------
ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_ciphertext.ldif
-------------------------------Captured log call--------------------------------
INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:125 Export data as ciphertext INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:136 Check that the attribute is present in the exported file INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:137 Check that the encrypted value of attribute is not present in the exported file INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:143 Delete the test user entry with encrypted data INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:146 Import data as ciphertext, which was exported previously INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:157 Check that the data with encrypted attribute is imported properly
Passed suites/attr_encryption/attr_encryption_test.py::test_export_import_plaintext 15.86
------------------------------Captured stderr call------------------------------
[22/Feb/2020:19:24:28.599904053 -0500] - INFO - slapd_extract_cert - CA CERT NAME: Self-Signed-CA [22/Feb/2020:19:24:28.604089752 -0500] - WARN - Security Initialization - SSL alert: Sending pin request to SVRCore. You may need to run systemd-tty-ask-password-agent to provide the password. [22/Feb/2020:19:24:28.798807861 -0500] - INFO - slapd_extract_cert - SERVER CERT NAME: Server-Cert ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_plaintext.ldif [22/Feb/2020:19:24:35.745552549 -0500] - INFO - slapd_extract_cert - CA CERT NAME: Self-Signed-CA [22/Feb/2020:19:24:35.750875595 -0500] - WARN - Security Initialization - SSL alert: Sending pin request to SVRCore. You may need to run systemd-tty-ask-password-agent to provide the password. [22/Feb/2020:19:24:35.940107545 -0500] - INFO - slapd_extract_cert - SERVER CERT NAME: Server-Cert
-------------------------------Captured log call--------------------------------
INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:186 Export data as plain text INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:197 Check that the attribute is present in the exported file INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:198 Check that the plain text value of the encrypted attribute is present in the exported file INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:202 Delete the test user entry with encrypted data INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:205 Import data as plain text, which was exported previously INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:216 Check that the attribute is imported properly
Passed suites/attr_encryption/attr_encryption_test.py::test_attr_encryption_unindexed 5.75
------------------------------Captured stderr call------------------------------
ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/emp_num_ciphertext.ldif
-------------------------------Captured log call--------------------------------
INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:238 Export data as cipher text INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:249 Check that the attribute is present in the exported file INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:250 Check that the encrypted value of attribute is not present in the exported file
Passed suites/attr_encryption/attr_encryption_test.py::test_attr_encryption_multiple_backends 9.79
------------------------------Captured stderr call------------------------------
ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_db1.ldif ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_db2.ldif
-------------------------------Captured log call--------------------------------
INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:282 Add two test backends INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:302 Enables attribute encryption for telephoneNumber in test_backend1 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:307 Enables attribute encryption for employeeNumber in test_backend2 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:312 Add a test user with encrypted attributes in both backends INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:321 Export data as ciphertext from both backends INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:338 Check that the attribute is present in the exported file in db1 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:339 Check that the encrypted value of attribute is not present in the exported file in db1 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:345 Check that the attribute is present in the exported file in db2 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:346 Check that the encrypted value of attribute is not present in the exported file in db2 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:352 Delete test backends
Passed suites/attr_encryption/attr_encryption_test.py::test_attr_encryption_backends 10.66
------------------------------Captured stderr call------------------------------
ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_db1.ldif ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export_db2.ldif
-------------------------------Captured log call--------------------------------
INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:380 Add two test backends INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:399 Enables attribute encryption for telephoneNumber in test_backend1 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:404 Add a test user with telephoneNumber in both backends INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:413 Export data as ciphertext from both backends INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:430 Check that the attribute is present in the exported file in db1 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:431 Check that the encrypted value of attribute is not present in the exported file in db1 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:437 Check that the attribute is present in the exported file in db2 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:438 Check that the value of attribute is also present in the exported file in db2 INFO  tests.suites.attr_encryption.attr_encryption_test:attr_encryption_test.py:444 Delete test backends
Passed suites/automember_plugin/automember_mod_test.py::test_mods 12.11
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.automember_plugin.automember_mod_test:automember_mod_test.py:135 Test PASSED
Passed suites/automember_plugin/automember_test.py::test_automemberscope 0.00
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/automember_plugin/automember_test.py::test_automemberfilter 0.01
No log output captured.
Passed suites/automember_plugin/automember_test.py::test_adduser 0.55
No log output captured.
Passed suites/automember_plugin/automember_test.py::test_delete_default_group 4.58
No log output captured.
Passed suites/automember_plugin/automember_test.py::test_delete_target_group 4.43
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_disable_the_plug_in 0.01
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology.
Passed suites/automember_plugin/basic_test.py::test_custom_config_area 0.26
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_ability_to_control_behavior_of_modifiers_name 10.64
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_posixaccount_objectclass_automemberdefaultgroup 0.25
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_duplicated_member_attributes_added_when_the_entry_is_re_created 0.84
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_multi_valued_automemberdefaultgroup_for_hostgroups 0.05
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_plugin_creates_member_attributes_of_the_automemberdefaultgroup 0.06
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_multi_valued_automemberdefaultgroup_with_uniquemember 10.30
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_invalid_automembergroupingattr_member 0.84
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_valid_and_invalid_automembergroupingattr 0.61
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_add_regular_expressions_for_user_groups_and_check_for_member_attribute_after_adding_users 0.11
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_matching_gid_role_inclusive_regular_expression[autoMembers_22-5288-5289-Contractor-5291-5292-Contractors] 0.05
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_matching_gid_role_inclusive_regular_expression[autoMembers_21-1161-1162-Contractor-1162-1163-Contractors] 0.06
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_matching_gid_role_inclusive_regular_expression[autoMembers_20-1188-1189-CEO-1191-1192-Contractors] 0.08
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_matching_gid_role_inclusive_regular_expression[autoMembers_15-9288-9289-Manager-9291-9292-Managers] 0.05
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_matching_gid_role_inclusive_regular_expression[autoMembers_14-561-562-Manager-562-563-Managers] 0.04
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_matching_gid_role_inclusive_regular_expression[autoMembers_13-9788-9789-VPEngg-9392-9393-Managers] 0.06
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_gid_and_role_inclusive_exclusive_regular_expression[autoMembers_26-5788-5789-Intern-Contractors-SuffDef1-5] 0.06
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_gid_and_role_inclusive_exclusive_regular_expression[autoMembers_25-9788-9789-Employee-Contractors-Managers-1] 0.14
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_gid_and_role_inclusive_exclusive_regular_expression[autoMembers_24-1110-1111-Employee-Contractors-SuffDef1-5] 0.06
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_gid_and_role_inclusive_exclusive_regular_expression[autoMembers_23-2788-2789-Contractor-Contractors-SuffDef1-5] 0.05
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_gid_and_role_inclusive_exclusive_regular_expression[autoMembers_19-5788-5789-HRManager-Managers-SuffDef1-5] 0.07
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_gid_and_role_inclusive_exclusive_regular_expression[autoMembers_18-6788-6789-Junior-Managers-SuffDef1-5] 0.07
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_gid_and_role_inclusive_exclusive_regular_expression[autoMembers_17-562-563-Junior-Managers-SuffDef1-5] 0.05
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_gid_and_role_inclusive_exclusive_regular_expression[autoMembers_16-6788-6789-Manager-Managers-SuffDef1-5] 0.06
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_managers_contractors_exclusive_regex_rules_member_uid[autoMembers_32-555-720-Employee-SubDef1-SubDef3] 0.07
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_managers_contractors_exclusive_regex_rules_member_uid[autoMembers_31-515-200-Junior-SubDef1-SubDef5] 0.06
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_managers_contractors_exclusive_regex_rules_member_uid[autoMembers_30-999-400-Supervisor-SubDef1-SubDef2] 0.06
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_managers_contractors_exclusive_regex_rules_member_uid[autoMembers_28-555-3663-ContractHR-Contractors,cn=subsuffGroups-Managers,cn=subsuffGroups] 0.05
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_managers_inclusive_regex_rule[autoMembers_27-595-690-ContractHR-Managers-Contractors] 0.05
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_managers_inclusive_regex_rule[autoMembers_29-8195-2753-Employee-Contractors-Managers] 0.05
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_managers_inclusive_regex_rule[autoMembers_33-545-3333-Supervisor-Contractors-Managers] 0.04
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_managers_inclusive_regex_rule[autoMembers_34-8195-693-Temporary-Managers-Contractors] 0.05
No log output captured.
Passed suites/automember_plugin/basic_test.py::test_reject_invalid_config_and_we_donot_deadlock_the_server 11.72
No log output captured.
Passed suites/automember_plugin/configuration_test.py::test_configuration 4.82
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/backups/backup_test.py::test_missing_backend 5.79
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/basic/basic_test.py::test_basic_ops 0.13
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/basic/basic_test.py::test_basic_import_export 44.67
------------------------------Captured stderr call------------------------------
ldiffile: /var/lib/dirsrv/slapd-standalone1/ldif/export.ldif
Passed suites/basic/basic_test.py::test_basic_backup 38.54
-------------------------------Captured log call--------------------------------
INFO  lib389:tasks.py:589 Backup task backup_02222020_192855 completed successfully INFO  lib389:tasks.py:643 Restore task restore_02222020_192856 completed successfully
Passed suites/basic/basic_test.py::test_basic_db2index 6.00
------------------------------Captured stderr call------------------------------
[22/Feb/2020:19:29:36.369151974 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.374288102 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.377319938 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.380665921 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.383750347 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.386496893 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.389860534 -0500] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [22/Feb/2020:19:29:36.392798013 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.395276621 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.397680980 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.400325900 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.403237707 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.406069585 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.414897578 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.417633423 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.420119960 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.422395353 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.424887314 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.427398236 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.430233184 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.432762395 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.435082829 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.437505537 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.439854437 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.442128513 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.444719316 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.447287177 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.449851331 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.452768229 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.455719710 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.458447490 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.461065808 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.465398466 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.467992321 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.470968331 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.473645102 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.476464156 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.479107319 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.481722594 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.484543801 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.487185221 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.489995397 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.493971632 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.499527990 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.504041064 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.506913558 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.511253400 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.513939830 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.516420060 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.519128127 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.521576624 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.524336264 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.527272478 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.530125392 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.532994837 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.535752999 -0500] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 7776808960, process usage 22642688 [22/Feb/2020:19:29:36.538446032 -0500] - INFO - check_and_set_import_cache - Import allocates 3037816KB import cache. [22/Feb/2020:19:29:36.541563757 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.544443647 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.547129964 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.549446785 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.551913272 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.554227953 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.557839810 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.562770130 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.566018902 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.569126481 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.571808180 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.574675126 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.577907452 -0500] - INFO - bdb_copy_directory - Backing up file 0 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/givenName.db) [22/Feb/2020:19:29:36.581220038 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/givenName.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/givenName.db [22/Feb/2020:19:29:36.584545133 -0500] - INFO - bdb_copy_directory - Backing up file 1 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/aci.db) [22/Feb/2020:19:29:36.587735270 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/aci.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/aci.db [22/Feb/2020:19:29:36.590908771 -0500] - INFO - bdb_copy_directory - Backing up file 2 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/sn.db) [22/Feb/2020:19:29:36.593925391 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/sn.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/sn.db [22/Feb/2020:19:29:36.596886567 -0500] - INFO - bdb_copy_directory - Backing up file 3 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/numsubordinates.db) [22/Feb/2020:19:29:36.600040928 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/numsubordinates.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/numsubordinates.db [22/Feb/2020:19:29:36.602629035 -0500] - INFO - bdb_copy_directory - Backing up file 4 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/entryusn.db) [22/Feb/2020:19:29:36.605595187 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/entryusn.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/entryusn.db [22/Feb/2020:19:29:36.608462800 -0500] - INFO - bdb_copy_directory - Backing up file 5 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/nsuniqueid.db) [22/Feb/2020:19:29:36.611376524 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/nsuniqueid.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/nsuniqueid.db [22/Feb/2020:19:29:36.614465755 -0500] - INFO - bdb_copy_directory - Backing up file 6 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/ancestorid.db) [22/Feb/2020:19:29:36.617215946 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/ancestorid.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/ancestorid.db [22/Feb/2020:19:29:36.620686470 -0500] - INFO - bdb_copy_directory - Backing up file 7 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/parentid.db) [22/Feb/2020:19:29:36.623775467 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/parentid.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/parentid.db [22/Feb/2020:19:29:36.627126647 -0500] - INFO - bdb_copy_directory - Backing up file 8 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/mail.db) [22/Feb/2020:19:29:36.630578517 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/mail.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/mail.db [22/Feb/2020:19:29:36.633882283 -0500] - INFO - bdb_copy_directory - Backing up file 9 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/telephoneNumber.db) [22/Feb/2020:19:29:36.638901679 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/telephoneNumber.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/telephoneNumber.db [22/Feb/2020:19:29:36.642056741 -0500] - INFO - bdb_copy_directory - Backing up file 10 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/cn.db) [22/Feb/2020:19:29:36.645024664 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/cn.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/cn.db [22/Feb/2020:19:29:36.648165965 -0500] - INFO - bdb_copy_directory - Backing up file 11 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/DBVERSION) [22/Feb/2020:19:29:36.653334264 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/DBVERSION to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/DBVERSION [22/Feb/2020:19:29:36.659130977 -0500] - INFO - bdb_copy_directory - Backing up file 12 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/uid.db) [22/Feb/2020:19:29:36.662243159 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/uid.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/uid.db [22/Feb/2020:19:29:36.665093326 -0500] - INFO - bdb_copy_directory - Backing up file 13 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/entryrdn.db) [22/Feb/2020:19:29:36.667711681 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/entryrdn.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/entryrdn.db [22/Feb/2020:19:29:36.670560910 -0500] - INFO - bdb_copy_directory - Backing up file 14 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/uniquemember.db) [22/Feb/2020:19:29:36.673441114 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/uniquemember.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/uniquemember.db [22/Feb/2020:19:29:36.677934859 -0500] - INFO - bdb_copy_directory - Backing up file 15 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/id2entry.db) [22/Feb/2020:19:29:36.680894663 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/id2entry.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/id2entry.db [22/Feb/2020:19:29:36.683730272 -0500] - INFO - bdb_copy_directory - Backing up file 16 (/var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/objectclass.db) [22/Feb/2020:19:29:36.686512197 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/userRoot/objectclass.db to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/userRoot/objectclass.db [22/Feb/2020:19:29:36.690065506 -0500] - INFO - upgradedb_core - userRoot: Start upgradedb. [22/Feb/2020:19:29:36.693237841 -0500] - INFO - bdb_instance_start - Import is running with nsslapd-db-private-import-mem on; No other process is allowed to access the database [22/Feb/2020:19:29:36.696161105 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.698993006 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.701439280 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:36.703749342 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.709669722 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:36.712699432 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:36.716477842 -0500] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 7776354304, process usage 23662592 [22/Feb/2020:19:29:36.719169474 -0500] - INFO - check_and_set_import_cache - Import allocates 3037638KB import cache. [22/Feb/2020:19:29:36.929231265 -0500] - INFO - bdb_import_main - reindex userRoot: Index buffering enabled with bucket size 100 [22/Feb/2020:19:29:37.634992099 -0500] - INFO - import_monitor_threads - reindex userRoot: Workers finished; cleaning up... [22/Feb/2020:19:29:37.838552370 -0500] - INFO - import_monitor_threads - reindex userRoot: Workers cleaned up. [22/Feb/2020:19:29:37.841909471 -0500] - INFO - bdb_import_main - reindex userRoot: Cleaning up producer thread... [22/Feb/2020:19:29:37.844466950 -0500] - INFO - bdb_import_main - reindex userRoot: Indexing complete. Post-processing... [22/Feb/2020:19:29:37.847183757 -0500] - INFO - bdb_import_main - reindex userRoot: Generating numsubordinates (this may take several minutes to complete)... [22/Feb/2020:19:29:37.849878283 -0500] - INFO - bdb_import_main - reindex userRoot: Generating numSubordinates complete. [22/Feb/2020:19:29:37.853924740 -0500] - INFO - bdb_get_nonleaf_ids - reindex userRoot: Gathering ancestorid non-leaf IDs... [22/Feb/2020:19:29:37.856722948 -0500] - INFO - bdb_get_nonleaf_ids - reindex userRoot: Finished gathering ancestorid non-leaf IDs. [22/Feb/2020:19:29:37.859252843 -0500] - INFO - ldbm_get_nonleaf_ids - reindex userRoot: Starting sort of ancestorid non-leaf IDs... [22/Feb/2020:19:29:37.861906867 -0500] - INFO - ldbm_get_nonleaf_ids - reindex userRoot: Finished sort of ancestorid non-leaf IDs. [22/Feb/2020:19:29:37.867853630 -0500] - INFO - bdb_ancestorid_new_idl_create_index - reindex userRoot: Creating ancestorid index (new idl)... [22/Feb/2020:19:29:37.870923074 -0500] - INFO - bdb_ancestorid_new_idl_create_index - reindex userRoot: Created ancestorid index (new idl). [22/Feb/2020:19:29:37.873591434 -0500] - INFO - bdb_import_main - reindex userRoot: Flushing caches... [22/Feb/2020:19:29:37.877931116 -0500] - INFO - bdb_import_main - reindex userRoot: Closing files... [22/Feb/2020:19:29:37.962486402 -0500] - INFO - bdb_import_main - reindex userRoot: Reindexing complete. Processed 160 entries in 1 seconds. (160.00 entries/sec) [22/Feb/2020:19:29:37.967624710 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/log.0000000001 to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/log.0000000001 [22/Feb/2020:19:29:37.978926284 -0500] - INFO - dblayer_copyfile - Copying /var/lib/dirsrv/slapd-standalone1/db/DBVERSION to /var/lib/dirsrv/slapd-standalone1/bak/reindex_2020-02-22T19:29:36.263292/DBVERSION [22/Feb/2020:19:29:37.982309993 -0500] - INFO - bdb_pre_close - All database threads now stopped [22/Feb/2020:19:29:38.119502280 -0500] - INFO - slapd_exemode_db2index - Backend Instance: userRoot [22/Feb/2020:19:29:38.124756730 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.127354875 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.130119304 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.132567482 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.135034525 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.137608702 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.140797831 -0500] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [22/Feb/2020:19:29:38.143405940 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.145829125 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.148318834 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.150555610 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.152894490 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.155213754 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.159603889 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.162097623 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.165713334 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.168241527 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.170806727 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.173223650 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.176126474 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.178783507 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.181588130 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.184442892 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.187298387 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.190013994 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.192493004 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.196351059 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.198925616 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.201512636 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.203898143 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.206187326 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.208941158 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.211532857 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.214097269 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.216757092 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.219071235 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.222764268 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.226308328 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.228861870 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.231129000 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.233668159 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.236226040 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.238656301 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.243796004 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.246677476 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.249341203 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.251540814 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.254119128 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.256585975 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.259599927 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.262077099 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.264445399 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.267003878 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.269409506 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.271794342 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.274568744 -0500] - INFO - bdb_instance_start - Import is running with nsslapd-db-private-import-mem on; No other process is allowed to access the database [22/Feb/2020:19:29:38.277208268 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.279536520 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.281879265 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.284208845 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.286795451 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.289098630 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.291445379 -0500] - INFO - check_and_set_import_cache - pagesize: 4096, available bytes 7777619968, process usage 22466560 [22/Feb/2020:19:29:38.293948195 -0500] - INFO - check_and_set_import_cache - Import allocates 3038132KB import cache. [22/Feb/2020:19:29:38.296565221 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.soft_limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.298924478 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.soft_limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.301182482 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.limit_in_bytes". errno=2 [22/Feb/2020:19:29:38.303561356 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.306151224 -0500] - ERR - _spal_get_uint64_t_file - Unable to open file "/sys/fs/cgroup/memory/memory.usage_in_bytes". errno=2 [22/Feb/2020:19:29:38.311420457 -0500] - WARN - spal_meminfo_get - Unable to retrieve /sys/fs/cgroup/memory/memory.limit_in_bytes. There may be no cgroup support on this platform [22/Feb/2020:19:29:38.451990221 -0500] - INFO - bdb_db2index - userRoot: Indexing attribute: uid [22/Feb/2020:19:29:38.455285223 -0500] - ERR - libdb - BDB1566 txn_checkpoint interface requires an environment configured for the transaction subsystem [22/Feb/2020:19:29:38.457884239 -0500] - ERR - dblayer_force_checkpoint - Checkpoint FAILED, error Invalid argument (22) [22/Feb/2020:19:29:38.468972617 -0500] - INFO - bdb_db2index - userRoot: Finished indexing. [22/Feb/2020:19:29:38.490088306 -0500] - INFO - bdb_pre_close - All database threads now stopped
Passed suites/basic/basic_test.py::test_basic_acl 0.71
No log output captured.
Passed suites/basic/basic_test.py::test_basic_searches 0.50
No log output captured.
Passed suites/basic/basic_test.py::test_search_req_attrs[attrs0-cn-False] 0.00
No log output captured.
Passed suites/basic/basic_test.py::test_search_req_attrs[attrs1-cn-True] 0.00
No log output captured.
Passed suites/basic/basic_test.py::test_search_req_attrs[attrs2-nsUniqueId-True] 0.00
No log output captured.
Passed suites/basic/basic_test.py::test_search_req_attrs[attrs3-cn-True] 0.00
No log output captured.
Passed suites/basic/basic_test.py::test_search_req_attrs[attrs4-cn-True] 0.00
No log output captured.
Passed suites/basic/basic_test.py::test_basic_referrals 3.54
No log output captured.
Passed suites/basic/basic_test.py::test_basic_systemctl 12.49
------------------------------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.
Passed suites/basic/basic_test.py::test_basic_ldapagent 5.02
No log output captured.
Passed suites/basic/basic_test.py::test_basic_dse_survives_kill9 11.49
No log output captured.
Passed suites/basic/basic_test.py::test_def_rootdse_attr[namingContexts] 0.02
No log output captured.
Passed suites/basic/basic_test.py::test_def_rootdse_attr[supportedLDAPVersion] 0.01
No log output captured.
Passed suites/basic/basic_test.py::test_def_rootdse_attr[supportedControl] 0.01
No log output captured.
Passed suites/basic/basic_test.py::test_def_rootdse_attr[supportedExtension] 0.02
No log output captured.
Passed suites/basic/basic_test.py::test_def_rootdse_attr[supportedSASLMechanisms] 0.02
No log output captured.
Passed suites/basic/basic_test.py::test_def_rootdse_attr[vendorName] 0.02
No log output captured.
Passed suites/basic/basic_test.py::test_def_rootdse_attr[vendorVersion] 0.01
No log output captured.
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[namingContexts] 0.00
No log output captured.
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedLDAPVersion] 0.01
No log output captured.
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedControl] 0.00
No log output captured.
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedExtension] 0.00
No log output captured.
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedSASLMechanisms] 0.00
No log output captured.
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[vendorName] 0.00
No log output captured.
Passed suites/basic/basic_test.py::test_mod_def_rootdse_attr[vendorVersion] 0.01
No log output captured.
Passed suites/basic/basic_test.py::test_basic_anonymous_search 0.03
No log output captured.
Passed suites/basic/basic_test.py::test_search_original_type 0.02
No log output captured.
Passed suites/basic/basic_test.py::test_search_ou 0.01
No log output captured.
Passed suites/basic/basic_test.py::test_connection_buffer_size 0.02
No log output captured.
Passed suites/basic/basic_test.py::test_critical_msg_on_empty_range_idl 5.85
No log output captured.
Passed suites/basic/basic_test.py::test_ldbm_modification_audit_log 12.95
No log output captured.
Passed suites/basic/basic_test.py::test_dscreate 15.45
------------------------------Captured stdout call------------------------------
Starting installation... Completed installation for test_dscreate
Passed suites/basic/basic_test.py::test_dscreate_longname 0.00
-----------------------------Captured stdout setup------------------------------
Starting installation... Completed installation for test_longname_deadbeef_deadbeef_deadbeef_deadbeef_deadbeef
-------------------------------Captured log call--------------------------------
DEBUG  RootDSE:_mapped_object.py:616 get_attr_vals('supportedControl')
Passed suites/betxns/betxn_test.py::test_betxt_7bit 5.43
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.betxns.betxn_test:betxn_test.py:50 Running test_betxt_7bit... INFO  tests.suites.betxns.betxn_test:betxn_test.py:76 test_betxt_7bit: PASSED
Passed suites/betxns/betxn_test.py::test_betxn_attr_uniqueness 4.45
-------------------------------Captured log call--------------------------------
INFO  tests.suites.betxns.betxn_test:betxn_test.py:127 test_betxn_attr_uniqueness: PASSED
Passed suites/betxns/betxn_test.py::test_betxn_memberof 4.73
-------------------------------Captured log call--------------------------------
INFO  tests.suites.betxns.betxn_test:betxn_test.py:173 test_betxn_memberof: PASSED
Passed suites/betxns/betxn_test.py::test_betxn_modrdn_memberof_cache_corruption 4.92
-------------------------------Captured log call--------------------------------
INFO  tests.suites.betxns.betxn_test:betxn_test.py:227 test_betxn_modrdn_memberof: PASSED
Passed suites/betxns/betxn_test.py::test_ri_and_mep_cache_corruption 0.60
-------------------------------Captured log call--------------------------------
INFO  tests.suites.betxns.betxn_test:betxn_test.py:337 Test PASSED
Passed suites/clu/clu_test.py::test_clu_pwdhash 0.03
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.clu.clu_test:clu_test.py:40 Running test_clu_pwdhash... INFO  tests.suites.clu.clu_test:clu_test.py:54 pwdhash generated: {SSHA}6WZbNA/jNkHdbkwlNJJASzTj5MOnWBiriKXIIQ== INFO  tests.suites.clu.clu_test:clu_test.py:55 test_clu_pwdhash: PASSED
Passed suites/clu/clu_test.py::test_clu_pwdhash_mod 0.05
-------------------------------Captured log call--------------------------------
INFO  tests.suites.clu.clu_test:clu_test.py:78 Running test_clu_pwdhash_mod... INFO  tests.suites.clu.clu_test:clu_test.py:87 pwdhash generated: {SSHA256}9re+U0g6o/wmJcvG9ttWyAIFwRWMEt17StCCQpU+10wr9K7Le3sJmA== INFO  tests.suites.clu.clu_test:clu_test.py:88 returned the hashed string using the algorithm set in nsslapd-rootpwstoragescheme
Passed suites/config/autotuning_test.py::test_threads_basic 0.02
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:39 Set nsslapd-threadnumber: -1 to enable autotuning INFO  tests.suites.config.autotuning_test:autotuning_test.py:42 Assert nsslapd-threadnumber is equal to the documented expected value
Passed suites/config/autotuning_test.py::test_threads_invalid_value[-2] 0.19
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:59 Set nsslapd-threadnumber: -2. Operation should fail
Passed suites/config/autotuning_test.py::test_threads_invalid_value[0] 0.19
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:59 Set nsslapd-threadnumber: 0. Operation should fail
Passed suites/config/autotuning_test.py::test_threads_invalid_value[invalid] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:59 Set nsslapd-threadnumber: invalid. Operation should fail
Passed suites/config/autotuning_test.py::test_threads_back_from_manual_value 0.12
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:81 Set nsslapd-threadnumber: -1 to enable autotuning and save the new value INFO  tests.suites.config.autotuning_test:autotuning_test.py:85 Set nsslapd-threadnumber to the autotuned value decreased by 2 INFO  tests.suites.config.autotuning_test:autotuning_test.py:90 Set nsslapd-threadnumber: -1 to enable autotuning INFO  tests.suites.config.autotuning_test:autotuning_test.py:93 Assert nsslapd-threadnumber is back to the autotuned value
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[-] 4.16
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:141 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:142 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:143 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:144 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:145 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:146 nsslapd-cache-autosize-split == b'25' INFO  tests.suites.config.autotuning_test:autotuning_test.py:152 Delete nsslapd-cache-autosize INFO  tests.suites.config.autotuning_test:autotuning_test.py:162 Delete nsslapd-cache-autosize-split INFO  tests.suites.config.autotuning_test:autotuning_test.py:168 Trying to set nsslapd-cachememsize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:171 Trying to set nsslapd-dbcachesize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:188 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:189 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:190 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:191 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:192 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:193 nsslapd-cache-autosize-split == b'25'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[-0] 4.78
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:141 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:142 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:143 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:144 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:145 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:146 nsslapd-cache-autosize-split == b'25' INFO  tests.suites.config.autotuning_test:autotuning_test.py:152 Delete nsslapd-cache-autosize INFO  tests.suites.config.autotuning_test:autotuning_test.py:159 Set nsslapd-cache-autosize-split to 0 INFO  tests.suites.config.autotuning_test:autotuning_test.py:168 Trying to set nsslapd-cachememsize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:171 Trying to set nsslapd-dbcachesize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:188 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:189 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:190 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:191 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:192 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:193 nsslapd-cache-autosize-split == b'0'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-400] 4.95
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:141 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:142 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:143 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:144 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:145 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:146 nsslapd-cache-autosize-split == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:149 Set nsslapd-cache-autosize to 10 INFO  tests.suites.config.autotuning_test:autotuning_test.py:159 Set nsslapd-cache-autosize-split to 40 INFO  tests.suites.config.autotuning_test:autotuning_test.py:168 Trying to set nsslapd-cachememsize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:171 Trying to set nsslapd-dbcachesize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:188 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:189 nsslapd-dbcachesize == b'267143216' INFO  tests.suites.config.autotuning_test:autotuning_test.py:190 nsslapd-cachememsize == b'469762048' INFO  tests.suites.config.autotuning_test:autotuning_test.py:191 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:192 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:193 nsslapd-cache-autosize-split == b'40'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[-40] 4.38
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:141 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:142 nsslapd-dbcachesize == b'267143216' INFO  tests.suites.config.autotuning_test:autotuning_test.py:143 nsslapd-cachememsize == b'469762048' INFO  tests.suites.config.autotuning_test:autotuning_test.py:144 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:145 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:146 nsslapd-cache-autosize-split == b'40' INFO  tests.suites.config.autotuning_test:autotuning_test.py:152 Delete nsslapd-cache-autosize INFO  tests.suites.config.autotuning_test:autotuning_test.py:159 Set nsslapd-cache-autosize-split to 40 INFO  tests.suites.config.autotuning_test:autotuning_test.py:168 Trying to set nsslapd-cachememsize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:171 Trying to set nsslapd-dbcachesize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:188 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:189 nsslapd-dbcachesize == b'267143216' INFO  tests.suites.config.autotuning_test:autotuning_test.py:190 nsslapd-cachememsize == b'469762048' INFO  tests.suites.config.autotuning_test:autotuning_test.py:191 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:192 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:193 nsslapd-cache-autosize-split == b'40'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-] 5.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:141 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:142 nsslapd-dbcachesize == b'267143216' INFO  tests.suites.config.autotuning_test:autotuning_test.py:143 nsslapd-cachememsize == b'469762048' INFO  tests.suites.config.autotuning_test:autotuning_test.py:144 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:145 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:146 nsslapd-cache-autosize-split == b'40' INFO  tests.suites.config.autotuning_test:autotuning_test.py:149 Set nsslapd-cache-autosize to 10 INFO  tests.suites.config.autotuning_test:autotuning_test.py:162 Delete nsslapd-cache-autosize-split INFO  tests.suites.config.autotuning_test:autotuning_test.py:168 Trying to set nsslapd-cachememsize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:171 Trying to set nsslapd-dbcachesize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:188 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:189 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:190 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:191 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:192 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:193 nsslapd-cache-autosize-split == b'25'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-401] 4.49
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:141 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:142 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:143 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:144 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:145 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:146 nsslapd-cache-autosize-split == b'25' INFO  tests.suites.config.autotuning_test:autotuning_test.py:149 Set nsslapd-cache-autosize to 10 INFO  tests.suites.config.autotuning_test:autotuning_test.py:159 Set nsslapd-cache-autosize-split to 40 INFO  tests.suites.config.autotuning_test:autotuning_test.py:168 Trying to set nsslapd-cachememsize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:171 Trying to set nsslapd-dbcachesize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:188 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:189 nsslapd-dbcachesize == b'267143216' INFO  tests.suites.config.autotuning_test:autotuning_test.py:190 nsslapd-cachememsize == b'469762048' INFO  tests.suites.config.autotuning_test:autotuning_test.py:191 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:192 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:193 nsslapd-cache-autosize-split == b'40'
Passed suites/config/autotuning_test.py::test_cache_autosize_non_zero[10-0] 4.53
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:141 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:142 nsslapd-dbcachesize == b'267143216' INFO  tests.suites.config.autotuning_test:autotuning_test.py:143 nsslapd-cachememsize == b'469762048' INFO  tests.suites.config.autotuning_test:autotuning_test.py:144 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:145 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:146 nsslapd-cache-autosize-split == b'40' INFO  tests.suites.config.autotuning_test:autotuning_test.py:149 Set nsslapd-cache-autosize to 10 INFO  tests.suites.config.autotuning_test:autotuning_test.py:159 Set nsslapd-cache-autosize-split to 0 INFO  tests.suites.config.autotuning_test:autotuning_test.py:168 Trying to set nsslapd-cachememsize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:171 Trying to set nsslapd-dbcachesize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:188 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:189 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:190 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:191 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:192 nsslapd-cache-autosize == b'10' INFO  tests.suites.config.autotuning_test:autotuning_test.py:193 nsslapd-cache-autosize-split == b'0'
Passed suites/config/autotuning_test.py::test_cache_autosize_basic_sane[0] 9.38
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:245 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:246 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:247 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:248 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:249 nsslapd-cache-autosize-split == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:252 Set nsslapd-cache-autosize-split to 0 INFO  tests.suites.config.autotuning_test:autotuning_test.py:261 Set nsslapd-dbcachesize to 0 INFO  tests.suites.config.autotuning_test:autotuning_test.py:263 Set nsslapd-cachememsize to 0 INFO  tests.suites.config.autotuning_test:autotuning_test.py:279 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:280 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:281 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:282 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:283 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:284 nsslapd-cache-autosize-split == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:245 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:246 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:247 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:248 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:249 nsslapd-cache-autosize-split == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:252 Set nsslapd-cache-autosize-split to 0 INFO  tests.suites.config.autotuning_test:autotuning_test.py:261 Set nsslapd-dbcachesize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:263 Set nsslapd-cachememsize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:279 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:280 nsslapd-dbcachesize == b'33333333' INFO  tests.suites.config.autotuning_test:autotuning_test.py:281 nsslapd-cachememsize == b'33333333' INFO  tests.suites.config.autotuning_test:autotuning_test.py:282 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:283 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:284 nsslapd-cache-autosize-split == b'0'
Passed suites/config/autotuning_test.py::test_cache_autosize_basic_sane[] 10.02
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:245 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:246 nsslapd-dbcachesize == b'33333333' INFO  tests.suites.config.autotuning_test:autotuning_test.py:247 nsslapd-cachememsize == b'33333333' INFO  tests.suites.config.autotuning_test:autotuning_test.py:248 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:249 nsslapd-cache-autosize-split == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:255 Delete nsslapd-cache-autosize-split INFO  tests.suites.config.autotuning_test:autotuning_test.py:261 Set nsslapd-dbcachesize to 0 INFO  tests.suites.config.autotuning_test:autotuning_test.py:263 Set nsslapd-cachememsize to 0 INFO  tests.suites.config.autotuning_test:autotuning_test.py:279 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:280 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:281 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:282 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:283 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:284 nsslapd-cache-autosize-split == b'25' INFO  tests.suites.config.autotuning_test:autotuning_test.py:245 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:246 nsslapd-dbcachesize == b'166964510' INFO  tests.suites.config.autotuning_test:autotuning_test.py:247 nsslapd-cachememsize == b'603979776' INFO  tests.suites.config.autotuning_test:autotuning_test.py:248 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:249 nsslapd-cache-autosize-split == b'25' INFO  tests.suites.config.autotuning_test:autotuning_test.py:255 Delete nsslapd-cache-autosize-split INFO  tests.suites.config.autotuning_test:autotuning_test.py:261 Set nsslapd-dbcachesize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:263 Set nsslapd-cachememsize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:279 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:280 nsslapd-dbcachesize == b'33333333' INFO  tests.suites.config.autotuning_test:autotuning_test.py:281 nsslapd-cachememsize == b'33333333' INFO  tests.suites.config.autotuning_test:autotuning_test.py:282 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:283 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:284 nsslapd-cache-autosize-split == b'25'
Passed suites/config/autotuning_test.py::test_cache_autosize_basic_sane[40] 9.24
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:245 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:246 nsslapd-dbcachesize == b'33333333' INFO  tests.suites.config.autotuning_test:autotuning_test.py:247 nsslapd-cachememsize == b'33333333' INFO  tests.suites.config.autotuning_test:autotuning_test.py:248 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:249 nsslapd-cache-autosize-split == b'25' INFO  tests.suites.config.autotuning_test:autotuning_test.py:252 Set nsslapd-cache-autosize-split to 40 INFO  tests.suites.config.autotuning_test:autotuning_test.py:261 Set nsslapd-dbcachesize to 0 INFO  tests.suites.config.autotuning_test:autotuning_test.py:263 Set nsslapd-cachememsize to 0 INFO  tests.suites.config.autotuning_test:autotuning_test.py:279 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:280 nsslapd-dbcachesize == b'267143216' INFO  tests.suites.config.autotuning_test:autotuning_test.py:281 nsslapd-cachememsize == b'469762048' INFO  tests.suites.config.autotuning_test:autotuning_test.py:282 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:283 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:284 nsslapd-cache-autosize-split == b'40' INFO  tests.suites.config.autotuning_test:autotuning_test.py:245 Check nsslapd-dbcachesize and nsslapd-cachememsize before the test INFO  tests.suites.config.autotuning_test:autotuning_test.py:246 nsslapd-dbcachesize == b'267143216' INFO  tests.suites.config.autotuning_test:autotuning_test.py:247 nsslapd-cachememsize == b'469762048' INFO  tests.suites.config.autotuning_test:autotuning_test.py:248 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:249 nsslapd-cache-autosize-split == b'40' INFO  tests.suites.config.autotuning_test:autotuning_test.py:252 Set nsslapd-cache-autosize-split to 40 INFO  tests.suites.config.autotuning_test:autotuning_test.py:261 Set nsslapd-dbcachesize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:263 Set nsslapd-cachememsize to 33333333 INFO  tests.suites.config.autotuning_test:autotuning_test.py:279 Check nsslapd-dbcachesize and nsslapd-cachememsize in the appropriate range. INFO  tests.suites.config.autotuning_test:autotuning_test.py:280 nsslapd-dbcachesize == b'33333333' INFO  tests.suites.config.autotuning_test:autotuning_test.py:281 nsslapd-cachememsize == b'33333333' INFO  tests.suites.config.autotuning_test:autotuning_test.py:282 nsslapd-dncachememsize == b'67108864' INFO  tests.suites.config.autotuning_test:autotuning_test.py:283 nsslapd-cache-autosize == b'0' INFO  tests.suites.config.autotuning_test:autotuning_test.py:284 nsslapd-cache-autosize-split == b'40'
Passed suites/config/autotuning_test.py::test_cache_autosize_invalid_values[-2] 0.22
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:318 Set nsslapd-cache-autosize-split to -2 INFO  tests.suites.config.autotuning_test:autotuning_test.py:324 Set nsslapd-cache-autosize to -2
Passed suites/config/autotuning_test.py::test_cache_autosize_invalid_values[102] 0.22
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:318 Set nsslapd-cache-autosize-split to 102 INFO  tests.suites.config.autotuning_test:autotuning_test.py:324 Set nsslapd-cache-autosize to 102
Passed suites/config/autotuning_test.py::test_cache_autosize_invalid_values[invalid] 0.22
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.autotuning_test:autotuning_test.py:318 Set nsslapd-cache-autosize-split to invalid INFO  tests.suites.config.autotuning_test:autotuning_test.py:324 Set nsslapd-cache-autosize to invalid
Passed suites/config/config_test.py::test_maxbersize_repl 17.72
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.config_test:config_test.py:67 Set nsslapd-maxbersize: 20K to master2 INFO  tests.suites.config.config_test:config_test.py:72 Try to add attribute with a big value to master2 - expect to FAIL INFO  tests.suites.config.config_test:config_test.py:79 Try to add attribute with a big value to master1 - expect to PASS INFO  tests.suites.config.config_test:config_test.py:84 Check if a big value was successfully added to master1 INFO  tests.suites.config.config_test:config_test.py:88 Check if a big value was successfully replicated to master2
Passed suites/config/config_test.py::test_config_listen_backport_size 0.27
No log output captured.
Passed suites/config/config_test.py::test_config_deadlock_policy 0.08
No log output captured.
Passed suites/config/config_test.py::test_defaultnamingcontext 1.79
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.config_test:config_test.py:218 Check the attribute nsslapd-defaultnamingcontext is present in cn=config INFO  tests.suites.config.config_test:config_test.py:221 Delete nsslapd-defaultnamingcontext attribute INFO  tests.suites.config.config_test:config_test.py:228 modify nsslapd-defaultnamingcontext with new suffix INFO  tests.suites.config.config_test:config_test.py:231 Add new invalid value at runtime to nsslapd-defaultnamingcontext INFO  tests.suites.config.config_test:config_test.py:235 Modify nsslapd-defaultnamingcontext with blank value INFO  tests.suites.config.config_test:config_test.py:238 Add new suffix when nsslapd-defaultnamingcontext is empty INFO  tests.suites.config.config_test:config_test.py:242 Check the value of the nsslapd-defaultnamingcontext automatically have the new suffix INFO  tests.suites.config.config_test:config_test.py:245 Adding new suffix when nsslapd-defaultnamingcontext is not empty INFO  tests.suites.config.config_test:config_test.py:249 Check the value of the nsslapd-defaultnamingcontext has not changed INFO  tests.suites.config.config_test:config_test.py:252 Remove the newly added suffix and check the values of the attribute is not changed INFO  tests.suites.config.config_test:config_test.py:256 Remove all the suffix at the end
Passed suites/config/config_test.py::test_allow_add_delete_config_attributes 4.86
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.config_test:config_test.py:306 Add a new valid attribute at runtime to cn=config INFO  tests.suites.config.config_test:config_test.py:310 Delete nsslapd-listenhost to restore the default value INFO  tests.suites.config.config_test:config_test.py:315 Add new invalid attribute at runtime to cn=config INFO  tests.suites.config.config_test:config_test.py:319 Make sure the invalid attribute is not added
Passed suites/config/config_test.py::test_ignore_virtual_attrs 0.83
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.config_test:config_test.py:352 Check the attribute nsslapd-ignore-virtual-attrs is present in cn=config INFO  tests.suites.config.config_test:config_test.py:355 Check the default value of attribute nsslapd-ignore-virtual-attrs should be OFF INFO  tests.suites.config.config_test:config_test.py:358 Set the valid values i.e. on/ON and off/OFF for nsslapd-ignore-virtual-attrs INFO  tests.suites.config.config_test:config_test.py:363 Set invalid value for attribute nsslapd-ignore-virtual-attrs INFO  tests.suites.config.config_test:config_test.py:374 Add cosPointer, cosTemplate and test entry to default suffix, where virtual attribute is postal code INFO  tests.suites.config.config_test:config_test.py:387 Test if virtual attribute i.e. postal code shown in test entry while nsslapd-ignore-virtual-attrs: off INFO  tests.suites.config.config_test:config_test.py:390 Set nsslapd-ignore-virtual-attrs=on INFO  tests.suites.config.config_test:config_test.py:393 Test if virtual attribute i.e. postal code not shown while nsslapd-ignore-virtual-attrs: on
Passed suites/config/config_test.py::test_ndn_cache_enabled 8.53
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.config_test:config_test.py:421 Check the attribute nsslapd-ndn-cache-enabled is present in cn=config INFO  tests.suites.config.config_test:config_test.py:424 Check the attribute nsslapd-ndn-cache-enabled has the default value set as ON INFO  tests.suites.config.config_test:config_test.py:427 Check the attribute nsslapd-ndn-cache-max-size is present in cn=config INFO  tests.suites.config.config_test:config_test.py:433 Ticket#49593 : NDN cache stats should be under the global stats - Implemented in 1.4 INFO  tests.suites.config.config_test:config_test.py:434 Fetch the monitor value according to the ds version INFO  tests.suites.config.config_test:config_test.py:440 Check the backend monitor output for Normalized DN cache statistics, while nsslapd-ndn-cache-enabled is off INFO  tests.suites.config.config_test:config_test.py:446 Check the backend monitor output for Normalized DN cache statistics, while nsslapd-ndn-cache-enabled is on INFO  tests.suites.config.config_test:config_test.py:452 Set invalid value for nsslapd-ndn-cache-enabled INFO  tests.suites.config.config_test:config_test.py:456 Set invalid value for nsslapd-ndn-cache-max-size
Passed suites/config/regression_test.py::test_maxbersize_repl 7.53
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.regression_test:regression_test.py:100 Set nsslapd-errorlog-maxlogsize before nsslapd-errorlog-logmaxdiskspace INFO  tests.suites.config.regression_test:regression_test.py:104 Assert no init_dse_file errors in the error log INFO  tests.suites.config.regression_test:regression_test.py:108 Set nsslapd-errorlog-maxlogsize after nsslapd-errorlog-logmaxdiskspace INFO  tests.suites.config.regression_test:regression_test.py:112 Assert no init_dse_file errors in the error log
Passed suites/config/removed_config_49298_test.py::test_restore_config 3.70
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.removed_config_49298_test:removed_config_49298_test.py:43 /etc/dirsrv/slapd-standalone1
Passed suites/config/removed_config_49298_test.py::test_removed_config 2.45
------------------------------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.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.config.removed_config_49298_test:removed_config_49298_test.py:72 /etc/dirsrv/slapd-standalone1
Passed suites/cos/cos_test.py::test_positive 0.05
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/cos/indirect_cos_test.py::test_indirect_cos 1.52
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO  tests.suites.cos.indirect_cos_test:indirect_cos_test.py:107 Add custom schema... INFO  tests.suites.cos.indirect_cos_test:indirect_cos_test.py:120 Add test user... INFO  tests.suites.cos.indirect_cos_test:indirect_cos_test.py:137 Setup indirect COS...
-------------------------------Captured log call--------------------------------
INFO  tests.suites.cos.indirect_cos_test:indirect_cos_test.py:157 Checking user... INFO  tests.suites.cos.indirect_cos_test:indirect_cos_test.py:56 Create password policy for subtree ou=people,dc=example,dc=com INFO  tests.suites.cos.indirect_cos_test:indirect_cos_test.py:164 Checking user...
Passed suites/disk_monitoring/disk_monitoring_test.py::test_verify_operation_when_disk_monitoring_is_off 4.51
-----------------------------Captured stdout setup------------------------------
Relabeled /var/log/dirsrv/slapd-standalone1 from unconfined_u:object_r:user_tmp_t:s0 to system_u:object_r:dirsrv_var_log_t:s0
-----------------------------Captured stderr setup------------------------------
chown: cannot access '/var/log/dirsrv/slapd-standalone1/*': No such file or directory
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
------------------------------Captured stderr call------------------------------
25+0 records in 25+0 records out 26214400 bytes (26 MB, 25 MiB) copied, 0.0109069 s, 2.4 GB/s dd: error writing '/var/log/dirsrv/slapd-standalone1/foo1': No space left on device 10+0 records in 9+0 records out 10452992 bytes (10 MB, 10 MiB) copied, 0.00445347 s, 2.3 GB/s
Passed suites/disk_monitoring/disk_monitoring_test.py::test_free_up_the_disk_space_and_change_ds_config 12.19
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_verify_operation_with_nsslapd_disk_monitoring_logging_critical_off 34.56
------------------------------Captured stderr call------------------------------
10+0 records in 10+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.00507877 s, 2.1 GB/s
Passed suites/disk_monitoring/disk_monitoring_test.py::test_operation_with_nsslapd_disk_monitoring_logging_critical_on_below_half_of_the_threshold 25.42
------------------------------Captured stderr call------------------------------
31+0 records in 31+0 records out 32505856 bytes (33 MB, 31 MiB) copied, 0.0141835 s, 2.3 GB/s
Passed suites/disk_monitoring/disk_monitoring_test.py::test_setting_nsslapd_disk_monitoring_logging_critical_to_off 3.34
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_operation_with_nsslapd_disk_monitoring_logging_critical_off 64.35
------------------------------Captured stderr call------------------------------
10+0 records in 10+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.00952634 s, 1.1 GB/s
Passed suites/disk_monitoring/disk_monitoring_test.py::test_operation_with_nsslapd_disk_monitoring_logging_critical_off_below_half_of_the_threshold 152.20
------------------------------Captured stderr call------------------------------
30+0 records in 30+0 records out 31457280 bytes (31 MB, 30 MiB) copied, 0.0168314 s, 1.9 GB/s
Passed suites/disk_monitoring/disk_monitoring_test.py::test_go_straight_below_half_of_the_threshold 107.66
------------------------------Captured stderr call------------------------------
31+0 records in 31+0 records out 32505856 bytes (33 MB, 31 MiB) copied, 0.0358099 s, 908 MB/s
Passed suites/disk_monitoring/disk_monitoring_test.py::test_go_straight_below_4kb 17.90
------------------------------Captured stderr call------------------------------
25+0 records in 25+0 records out 26214400 bytes (26 MB, 25 MiB) copied, 0.012713 s, 2.1 GB/s dd: error writing '/var/log/dirsrv/slapd-standalone1/foo1': No space left on device 10+0 records in 9+0 records out 9580544 bytes (9.6 MB, 9.1 MiB) copied, 0.00650793 s, 1.5 GB/s
Passed suites/disk_monitoring/disk_monitoring_test.py::test_threshold_to_overflow_value 0.02
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_threshold_is_reached_to_half 14.35
------------------------------Captured stderr call------------------------------
10+0 records in 10+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.00581587 s, 1.8 GB/s
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold--2] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold-9223372036854775808] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold-2047] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold-0] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold--1294967296] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-threshold-invalid] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-invalid] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-1] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-grace-period-00] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-grace-period-525 948] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-grace-period--10] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-logging-critical-oninvalid] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-grace-period--11] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_negagtive_parameterize[nsslapd-disk-monitoring-grace-period-01] 0.00
No log output captured.
Passed suites/disk_monitoring/disk_monitoring_test.py::test_valid_operations_are_permitted 3.50
No log output captured.
Passed suites/disk_monitoring/disk_space_test.py::test_basic 0.00
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  lib389:disk_space_test.py:35 Check that "partition", "size", "used", "available", "use%" words are present in the string INFO  lib389:disk_space_test.py:39 Check that the sizes are numbers
Passed suites/ds_logs/ds_logs_test.py::test_check_default 0.00
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
DEBUG  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:208 on
Passed suites/ds_logs/ds_logs_test.py::test_plugin_set_invalid 0.19
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:227 test_plugin_set_invalid - Expect to fail with junk value
Passed suites/ds_logs/ds_logs_test.py::test_log_plugin_on 4.41
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:254 Bug 1273549 - Check access logs for millisecond, when attribute is ON INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:255 perform any ldap operation, which will trigger the logs INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:36 Adding 10 users INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:259 Restart the server to flush the logs INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:262 parse the access logs
Passed suites/ds_logs/ds_logs_test.py::test_log_plugin_off 13.07
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:294 Bug 1273549 - Check access logs for missing millisecond, when attribute is OFF INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:296 test_log_plugin_off - set the configuration attribute to OFF INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:299 Restart the server to flush the logs INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:302 test_log_plugin_off - delete the previous access logs INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:308 Restart the server to flush the logs INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:311 check access log that microseconds are not present
Passed suites/ds_logs/ds_logs_test.py::test_internal_log_server_level_0 5.11
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:338 Set nsslapd-plugin-logging to on INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:341 Configure access log level to 0 INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:345 Restart the server to flush the logs INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:349 Check if access log does not contain internal log of MOD operation INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:355 Check if the other internal operations are not present
Passed suites/ds_logs/ds_logs_test.py::test_internal_log_server_level_4 4.73
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:386 Set nsslapd-plugin-logging to on INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:389 Configure access log level to 4 INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:393 Restart the server to flush the logs INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:398 Check if access log contains internal MOD operation in correct format INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:404 Check if the other internal operations have the correct format
Passed suites/ds_logs/ds_logs_test.py::test_internal_log_level_260 4.52
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:102 Enable automember plugin INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:106 Enable Referential Integrity plugin INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:110 Set nsslapd-plugin-logging to on INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:113 Restart the server INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:120 Configure access log level to 260 INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:86 Renaming user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:89 Delete the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:92 Delete automember entry, org. unit and group for the next test
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:443 Restart the server to flush the logs INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:447 Check the access logs for ADD operation of the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:463 Check the access logs for MOD operation of the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:476 Check the access logs for DEL operation of the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:487 Check if the other internal operations have the correct format
Passed suites/ds_logs/ds_logs_test.py::test_internal_log_level_131076 3.80
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:120 Configure access log level to 131076 INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:86 Renaming user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:89 Delete the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:92 Delete automember entry, org. unit and group for the next test
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:525 Restart the server to flush the logs INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:529 Check the access logs for ADD operation of the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:545 Check the access logs for MOD operation of the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:558 Check the access logs for DEL operation of the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:569 Check if the other internal operations have the correct format
Passed suites/ds_logs/ds_logs_test.py::test_internal_log_level_516 3.94
-------------------------------Captured log setup-------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:120 Configure access log level to 516 INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:86 Renaming user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:89 Delete the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:92 Delete automember entry, org. unit and group for the next test
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:607 Restart the server to flush the logs INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:611 Check the access logs for ADD operation of the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:630 Check the access logs for MOD operation of the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:646 Check the access logs for DEL operation of the user INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:660 Check if the other internal operations have the correct format
Passed suites/ds_logs/ds_logs_test.py::test_access_log_truncated_search_message 4.78
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:687 Make a search INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:690 Restart the server to flush the logs
Passed suites/ds_logs/ds_logs_test.py::test_etime_at_border_of_second 22.46
No log output captured.
Passed suites/ds_logs/ds_logs_test.py::test_log_base_dn_when_invalid_attr_request 3.78
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:771 Set accesslog logbuffering to off to get the log in real time INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:774 delete the previous access logs to get a fresh new one INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:777 Search the default suffix, with invalid '"" ""' attribute request INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:778 A Protocol error exception should be raised, see https://pagure.io/389-ds-base/issue/49969 INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:784 Check the access logs for correct messages
Passed suites/ds_logs/ds_logs_test.py::test_audit_log_rotate_and_check_string 24.87
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:830 Doing modifications to rotate audit log INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:835 Doing one more modification just in case INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:842 Check that DS string is present on first line INFO  tests.suites.ds_logs.ds_logs_test:ds_logs_test.py:846 Check that DS string is present only once
Passed suites/ds_logs/regression_test.py::test_default_loglevel_stripped[24576] 0.25
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/ds_logs/regression_test.py::test_default_loglevel_stripped[16512] 0.02
No log output captured.
Passed suites/ds_logs/regression_test.py::test_default_loglevel_stripped[16385] 0.77
No log output captured.
Passed suites/ds_logs/regression_test.py::test_dse_config_loglevel_error 18.82
No log output captured.
Passed suites/ds_tools/logpipe_test.py::test_user_permissions 0.04
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created. INFO  tests.suites.ds_tools.logpipe_test:logpipe_test.py:32 Add system test user - dirsrv_testuser
-------------------------------Captured log call--------------------------------
INFO  tests.suites.ds_tools.logpipe_test:logpipe_test.py:68 Try to create a logpipe in the log directory with "-u" option specifying the user
Passed suites/ds_tools/replcheck_test.py::test_state 0.49
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldaps://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:63701 to ldaps://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:63702 is working INFO  tests.suites.ds_tools.replcheck_test:replcheck_test.py:101 Export LDAPTLS_CACERTDIR env variable for ds-replcheck INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldaps://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:63701 to ldaps://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:63702 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldaps://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:63702 to ldaps://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:63701 is working
Passed suites/ds_tools/replcheck_test.py::test_check_ruv 20.66
------------------------------Captured stderr call------------------------------
ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif
Passed suites/ds_tools/replcheck_test.py::test_missing_entries 21.53
------------------------------Captured stderr call------------------------------
ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif
Passed suites/ds_tools/replcheck_test.py::test_tombstones 25.54
------------------------------Captured stderr call------------------------------
ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif
Passed suites/ds_tools/replcheck_test.py::test_conflict_entries 32.99
------------------------------Captured stderr call------------------------------
ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif
Passed suites/ds_tools/replcheck_test.py::test_inconsistencies 26.48
------------------------------Captured stderr call------------------------------
ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif
Passed suites/ds_tools/replcheck_test.py::test_suffix_exists 0.48
No log output captured.
Passed suites/ds_tools/replcheck_test.py::test_check_missing_tombstones 21.80
------------------------------Captured stderr call------------------------------
ldiffile: /tmp/export_master1.ldif ldiffile: /tmp/export_master2.ldif
Passed suites/ds_tools/replcheck_test.py::test_dsreplcheck_with_password_file 0.01
No log output captured.
Passed suites/dynamic_plugins/dynamic_plugins_test.py::test_acceptance 40.18
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39001, 'ldap-secureport': 63701, 'server-id': 'master1', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 39002, 'ldap-secureport': 63702, 'server-id': 'master2', 'suffix': 'dc=example,dc=com'} was created. INFO  lib389.topologies:topologies.py:139 Creating replication topology. INFO  lib389.topologies:topologies.py:153 Joining master master2 to master1 ... INFO  lib389.replica:replica.py:1998 SUCCESS: bootstrap to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 completed INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is was created INFO  lib389.replica:replica.py:2279 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is was created INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working INFO  lib389.replica:replica.py:2067 SUCCESS: joined master from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 INFO  lib389.topologies:topologies.py:161 Ensuring master master1 to master2 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 already exists INFO  lib389.topologies:topologies.py:161 Ensuring master master2 to master1 ... INFO  lib389.replica:replica.py:2252 SUCCESS: Agreement from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 already exists
-------------------------------Captured log call--------------------------------
INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working
Passed suites/dynamic_plugins/dynamic_plugins_test.py::test_memory_corruption 42.82
-------------------------------Captured log call--------------------------------
INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working
Passed suites/dynamic_plugins/dynamic_plugins_test.py::test_stress 547.92
-------------------------------Captured log call--------------------------------
INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 is working INFO  lib389.replica:replica.py:2410 SUCCESS: Replication from ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-137-84.hosted.upshift.rdu2.redhat.com:39001 is working
Passed suites/filter/basic_filter_test.py::test_search_attr 2.22
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/filter/bitw_filter_test.py::test_bitwise_plugin_status 0.00
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/filter/bitw_filter_test.py::test_search_disabled_accounts 0.01
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_plugin_can_be_disabled 5.21
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_plugin_is_disabled 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_enabling_works_fine 4.55
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=513))-1] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=16777216))-1] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=8388608))-1] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.804:=5))-3] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.804:=8))-3] 0.18
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.804:=7))-5] 0.01
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testerperson) (testUserAccountControl:1.2.840.113556.1.4.804:=7))-0] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (&(testUserAccountControl:1.2.840.113556.1.4.803:=98536)(testUserAccountControl:1.2.840.113556.1.4.803:=912)))-0] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (&(testUserAccountControl:1.2.840.113556.1.4.804:=87)(testUserAccountControl:1.2.840.113556.1.4.804:=91)))-8] 0.15
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (&(testUserAccountControl:1.2.840.113556.1.4.803:=89536)(testUserAccountControl:1.2.840.113556.1.4.804:=79)))-1] 0.17
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (|(testUserAccountControl:1.2.840.113556.1.4.803:=89536)(testUserAccountControl:1.2.840.113556.1.4.804:=79)))-8] 0.01
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (|(testUserAccountControl:1.2.840.113556.1.4.803:=89)(testUserAccountControl:1.2.840.113556.1.4.803:=536)))-0] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=x))-13] 0.01
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=&\*#$%))-13] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=-65536))-0] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=-1))-0] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=-))-13] 0.01
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=))-13] 0.01
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=\*))-13] 0.01
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.804:=\*))-0] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=6552))-0] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson\))(testUserAccountControl:1.2.840.113556.1.4.804:=6552))-0] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_all_together[(& (objectclass=testperson) (testUserAccountControl:1.2.840.113556.1.4.803:=65536))-5] 0.00
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_5_entries 0.35
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_5_entries1 0.42
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_5_entries3 0.02
No log output captured.
Passed suites/filter/bitw_filter_test.py::test_5_entries4 0.02
No log output captured.
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(sn=last1)(givenname=first1))-1] 0.00
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid1)(sn=last1)(givenname=first1))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(sn=last1)(givenname=first1)))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid1)(&(sn=last1)(givenname=first1)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(&(sn=last1))(&(givenname=first1))))-1] 0.17
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid1)(&(&(sn=last1))(&(givenname=first1))))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(sn=last3)(givenname=*))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=*)(sn=last3)(givenname=*))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(&(sn=last3)(givenname=*)))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=*)(&(sn=last3)(givenname=*)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid5)(&(&(sn=*))(&(givenname=*))))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid5)(&(&(sn=*))(&(givenname=*))))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(objectclass=*)(uid=*)(sn=last*))-5] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(objectclass=*)(uid=*)(sn=last*))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(objectclass=*)(uid=*)(sn=last1))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(objectclass=*)(uid=*)(sn=last1))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(uid=uid1)(sn=last1)(givenname=first1))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(uid=uid1)(sn=last1)(givenname=first1))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(uid=uid1)(|(sn=last1)(givenname=first1)))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(uid=uid1)(|(sn=last1)(givenname=first1)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(uid=uid1)(|(|(sn=last1))(|(givenname=first1))))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(uid=uid1)(|(|(sn=last1))(|(givenname=first1))))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(objectclass=*)(sn=last1)(|(givenname=first1)))-14] 0.01
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(objectclass=*)(sn=last1)(|(givenname=first1)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(&(objectclass=*)(sn=last1))(|(givenname=first1)))-1] 0.01
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(&(objectclass=*)(sn=last1))(|(givenname=first1)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(&(objectclass=*)(sn=last))(|(givenname=first1)))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(&(objectclass=*)(sn=last))(|(givenname=first1)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(!(cn=NULL)))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid1)(!(cn=NULL)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(!(cn=NULL))(uid=uid1))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(!(cn=NULL))(uid=uid1))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(&(!(uid=1))(!(givenname=first1))))-4] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=*)(&(!(uid=1))(!(givenname=first1))))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(|(uid=uid1)(uid=NULL))(sn=last1))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(|(uid=uid1)(uid=NULL))(sn=last1))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(|(uid=uid1)(uid=NULL))(!(sn=NULL)))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(|(uid=uid1)(uid=NULL))(!(sn=NULL)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(|(uid=uid1)(sn=last2))(givenname=first1))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(|(uid=uid1)(sn=last2))(givenname=first1))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(&(uid=uid1)(!(uid=NULL)))(sn=last2))-2] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(&(uid=uid1)(!(uid=NULL)))(sn=last2))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(&(uid=uid1)(uid=NULL))(sn=last2))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(&(uid=uid1)(uid=NULL))(sn=last2))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid5)(sn=*)(cn=*)(givenname=*)(uid=u*)(sn=la*)(cn=full*)(givenname=f*)(uid>=u)(!(givenname=NULL)))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid5)(sn=*)(cn=*)(givenname=*)(uid=u*)(sn=la*)(cn=full*)(givenname=f*)(uid>=u)(!(givenname=NULL)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(&(objectclass=*)(sn=last))(&(givenname=first1)))-1] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(&(objectclass=*)(sn=last))(&(givenname=first1)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(sn=last1)(givenname=NULL))-0] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid1)(sn=last1)(givenname=NULL))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(sn=last1)(givenname=NULL)))-0] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid1)(&(sn=last1)(givenname=NULL)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(&(sn=last1))(&(givenname=NULL))))-0] 0.01
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid1)(&(&(sn=last1))(&(givenname=NULL))))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(&(sn=last1))(&(givenname=NULL)(sn=*)))(|(sn=NULL)))-0] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid1)(&(&(sn=last1))(&(givenname=NULL)(sn=*)))(|(sn=NULL)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=uid1)(&(&(sn=last*))(&(givenname=first*)))(&(sn=NULL)))-0] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=uid1)(&(&(sn=last*))(&(givenname=first*)))(&(sn=NULL)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(uid=NULL)(sn=NULL)(givenname=NULL))-0] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(uid=NULL)(sn=NULL)(givenname=NULL))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(uid=NULL)(|(sn=NULL)(givenname=NULL)))-0] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(uid=NULL)(|(sn=NULL)(givenname=NULL)))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(uid=NULL)(|(|(sn=NULL))(|(givenname=NULL))))-0] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(uid=NULL)(|(|(sn=NULL))(|(givenname=NULL))))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*))-5] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*))"...
Passed suites/filter/complex_filters_test.py::test_filters[(uid>=uid3)-3] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(uid>=uid3)"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid=*)(uid>=uid3))-3] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid=*)(uid>=uid3))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(uid>=uid3)(uid<=uid5))-5] 0.01
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(uid>=uid3)(uid<=uid5))"...
Passed suites/filter/complex_filters_test.py::test_filters[(&(uid>=uid3)(uid<=uid5))-3] 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(&(uid>=uid3)(uid<=uid5))"...
Passed suites/filter/complex_filters_test.py::test_filters[(|(&(uid>=uid3)(uid<=uid5))(uid=*))-5] 0.01
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.complex_filters_test:complex_filters_test.py:122 Testing filter "(|(&(uid>=uid3)(uid<=uid5))(uid=*))"...
Passed suites/filter/filter_cert_test.py::test_positive 23.55
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index0] 0.02
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index1] 0.05
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index2] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index3] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index4] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index5] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index6] 0.22
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index7] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index8] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index9] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index10] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index11] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index12] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index13] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index14] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index15] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index16] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_valid_invalid_attributes[index17] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod0] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod1] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod2] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod3] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod4] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod5] 0.26
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod6] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod7] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod8] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod9] 0.12
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod10] 0.07
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod11] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod12] 0.26
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod13] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod14] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod15] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod16] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods[mod17] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode0] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode1] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode2] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode3] 0.03
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode4] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode5] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode6] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode7] 0.03
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode8] 0.18
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode9] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode10] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode11] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode12] 0.03
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode13] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode14] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode15] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode16] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_replace[mode17] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode0] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode1] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode2] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode3] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode4] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode5] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode6] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode7] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode8] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode9] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode10] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode11] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode12] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode13] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode14] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode15] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode16] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_mods_delete[mode17] 0.02
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_search_positive_negative 0.11
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrbitStringMatch:bitStringMatch:='0001'B)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactIA5Match:caseExactIA5Match:=Sprain)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactMatch:caseExactMatch:=ÇélIné Ändrè)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactMatch:caseExactOrderingMatch:=ÇélIné Ändrè)-5] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrgeneralizedTimeMatch:generalizedTimeMatch:=20100218171300Z)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrgeneralizedTimeMatch:generalizedTimeOrderingMatch:=20100218171300Z)-6] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrbooleanMatch:booleanMatch:=TRUE)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreIA5Match:caseIgnoreIA5Match:=sprain1)-1] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreMatch:caseIgnoreMatch:=ÇélIné Ändrè1)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreMatch:caseIgnoreOrderingMatch:=ÇélIné Ändrè1)-6] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreListMatch:caseIgnoreListMatch:=foo1$bar)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrobjectIdentifierMatch:objectIdentifierMatch:=1.3.6.1.4.1.1466.115.121.1.15)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrdirectoryStringFirstComponentMatch:directoryStringFirstComponentMatch:=ÇélIné Ändrè1)-1] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrobjectIdentifierFirstComponentMatch:objectIdentifierFirstComponentMatch:=1.3.6.1.4.1.1466.115.121.1.15)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrdistinguishedNameMatch:distinguishedNameMatch:=cn=foo1,cn=bar)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrintegerMatch:integerMatch:=-2)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrintegerMatch:integerOrderingMatch:=-2)-6] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrintegerFirstComponentMatch:integerFirstComponentMatch:=-2)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attruniqueMemberMatch:uniqueMemberMatch:=cn=foo1,cn=bar#'0001'B)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrnumericStringMatch:numericStringMatch:=00001)-10] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrnumericStringMatch:numericStringMatch:=00001)-11] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrtelephoneNumberMatch:telephoneNumberMatch:=+1 408 555 4798)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attroctetStringMatch:octetStringMatch:=AAAAAAAAAAAAAAE=)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attroctetStringMatch:octetStringOrderingMatch:=AAAAAAAAAAAAAAE=)-6] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactMatch=*ÇélIné Ändrè*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactMatch=ÇélIné Ändrè*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactMatch=*ÇélIné Ändrè)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactMatch=*é Ä*)-5] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactIA5Match=*Sprain*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactIA5Match=Sprain*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactIA5Match=*Sprain)-1] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseExactIA5Match=*rai*)-3] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreIA5Match=*sprain1*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreIA5Match=sprain1*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreIA5Match=*sprain1)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreIA5Match=*rai*)-6] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreMatch=*ÇélIné Ändrè1*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreMatch=ÇélIné Ändrè1*)-1] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreMatch=*ÇélIné Ändrè1)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreMatch=*é Ä*)-6] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreListMatch=*foo1$bar*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreListMatch=foo1$bar*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreListMatch=*foo1$bar)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrcaseIgnoreListMatch=*1$b*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrnumericStringMatch=*00001*)-1] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrnumericStringMatch=00001*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrnumericStringMatch=*00001)-1] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrnumericStringMatch=*000*)-6] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrtelephoneNumberMatch=*+1 408 555 4798*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrtelephoneNumberMatch=+1 408 555 4798*)-1] 0.00
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrtelephoneNumberMatch=*+1 408 555 4798)-1] 0.01
No log output captured.
Passed suites/filter/filter_index_match_test.py::test_do_extensible_search[(attrtelephoneNumberMatch=* 55*)-6] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_positive[(|(|(ou=nothing1)(ou=people))(|(ou=nothing2)(ou=nothing3)))] 0.00
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/filter/filter_indexing_test.py::test_positive[(|(|(ou=people)(ou=nothing1))(|(ou=nothing2)(ou=nothing3)))] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_positive[(|(|(ou=nothing1)(ou=nothing2))(|(ou=people)(ou=nothing3)))] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_positive[(|(|(ou=nothing1)(ou=nothing2))(|(ou=nothing3)(ou=people)))] 0.01
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_positive[(&(sn<=0000000000000000)(givenname>=FFFFFFFFFFFFFFFF))] 0.01
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_positive[(&(sn>=0000000000000000)(sn<=1111111111111111))] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_positive[(&(sn>=0000000000000000)(givenname<=FFFFFFFFFFFFFFFF))] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing_schema 3.87
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(uidNumber=18446744073709551617)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(gidNumber=18446744073709551617)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(MYINTATTR=18446744073709551617)] 0.17
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(&(uidNumber=*)(!(uidNumber=18446744073709551617)))] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(&(gidNumber=*)(!(gidNumber=18446744073709551617)))] 0.01
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(&(uidNumber=*)(!(gidNumber=18446744073709551617)))] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(&(myintattr=*)(!(myintattr=18446744073709551617)))] 0.18
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(uidNumber>=-18446744073709551617)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(gidNumber>=-18446744073709551617)] 0.01
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(uidNumber<=18446744073709551617)] 0.18
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(gidNumber<=18446744073709551617)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing[(myintattr<=18446744073709551617)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing_negative[(gidNumber=54321)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing_negative[(uidNumber=54321)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing_negative[(myintattr=54321)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing_negative[(gidNumber<=-999999999999999999999999999999)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing_negative[(uidNumber<=-999999999999999999999999999999)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing_negative[(myintattr<=-999999999999999999999999999999)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing_negative[(gidNumber>=999999999999999999999999999999)] 0.00
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing_negative[(uidNumber>=999999999999999999999999999999)] 0.01
No log output captured.
Passed suites/filter/filter_indexing_test.py::test_indexing_negative[(myintattr>=999999999999999999999999999999)] 0.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_eq 0.00
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/filter/filter_logic_test.py::test_sub 0.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_not_eq 0.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_ranges 0.01
No log output captured.
Passed suites/filter/filter_logic_test.py::test_and_eq 0.02
No log output captured.
Passed suites/filter/filter_logic_test.py::test_range 0.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_and_allid_shortcut 0.01
No log output captured.
Passed suites/filter/filter_logic_test.py::test_or_eq 0.02
No log output captured.
Passed suites/filter/filter_logic_test.py::test_and_not_eq 0.01
No log output captured.
Passed suites/filter/filter_logic_test.py::test_or_not_eq 0.00
No log output captured.
Passed suites/filter/filter_logic_test.py::test_and_range 0.02
No log output captured.
Passed suites/filter/filter_logic_test.py::test_or_range 0.01
No log output captured.
Passed suites/filter/filter_logic_test.py::test_and_and_eq 0.02
No log output captured.
Passed suites/filter/filter_logic_test.py::test_or_or_eq 0.01
No log output captured.
Passed suites/filter/filter_logic_test.py::test_and_or_eq 0.01
No log output captured.
Passed suites/filter/filter_logic_test.py::test_or_and_eq 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_matching_rules 0.06
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
Passed suites/filter/filter_match_test.py::test_add_attribute_types 2.06
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule0] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule1] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule2] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule3] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule4] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule5] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule6] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule7] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule8] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule9] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule10] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule11] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule12] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule13] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule14] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule15] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule16] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_attributes[rule17] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode0] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode1] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode2] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode3] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode4] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode5] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode6] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode7] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode8] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode9] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode10] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode11] 0.42
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode12] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode13] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode14] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode15] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode16] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_modes[mode17] 0.02
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode0] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode1] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode2] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode3] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode4] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode5] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode6] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode7] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode8] 0.04
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode9] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode10] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode11] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode12] 0.04
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode13] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode14] 0.04
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode15] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode16] 0.06
No log output captured.
Passed suites/filter/filter_match_test.py::test_valid_invalid_mode_replace[mode17] 0.03
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrbitStringMatch='0001'B)-1-(attrbitStringMatch:bitStringMatch:='000100000'B)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrgeneralizedTimeMatch=20100218171300Z)-1-(attrcaseExactIA5Match=SPRAIN)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrcaseExactMatch>=ÇélIné Ändrè)-5-(attrcaseExactMatch=ÇéLINé ÄNDRè)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrcaseExactMatch:caseExactMatch:=ÇélIné Ändrè)-1-(attrcaseExactMatch>=çéliné ändrè)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrcaseExactIA5Match=Sprain)-1-(attrgeneralizedTimeMatch=20300218171300Z)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrbooleanMatch=TRUE)-1-(attrgeneralizedTimeMatch>=20300218171300Z)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrcaseIgnoreIA5Match=sprain1)-1-(attrcaseIgnoreIA5Match=sprain9999)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrcaseIgnoreMatch=ÇélIné Ändrè1)-1-(attrcaseIgnoreMatch=ÇélIné Ändrè9999)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrcaseIgnoreMatch>=ÇélIné Ändrè1)-6-(attrcaseIgnoreMatch>=ÇélIné Ändrè9999)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrcaseIgnoreListMatch=foo1$bar)-1-(attrcaseIgnoreListMatch=foo1$bar$baz$biff)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrobjectIdentifierMatch=1.3.6.1.4.1.1466.115.121.1.15)-1-(attrobjectIdentifierMatch=1.3.6.1.4.1.1466.115.121.1.15.99999)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrgeneralizedTimeMatch>=20100218171300Z)-6-(attroctetStringMatch>=AAAAAAAAAAABAQQ=)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrdirectoryStringFirstComponentMatch=ÇélIné Ändrè1)-1-(attrdirectoryStringFirstComponentMatch=ÇélIné Ändrè9999)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrobjectIdentifierFirstComponentMatch=1.3.6.1.4.1.1466.115.121.1.15)-1-(attrobjectIdentifierFirstComponentMatch=1.3.6.1.4.1.1466.115.121.1.15.99999)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrdistinguishedNameMatch=cn=foo1,cn=bar)-1-(attrdistinguishedNameMatch=cn=foo1,cn=bar,cn=baz)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrintegerMatch=-2)-1-(attrintegerMatch=-20)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrintegerMatch>=-2)-6-(attrintegerMatch>=20)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrintegerFirstComponentMatch=-2)-1-(attrintegerFirstComponentMatch=-20)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attruniqueMemberMatch=cn=foo1,cn=bar#'0001'B)-1-(attruniqueMemberMatch=cn=foo1,cn=bar#'00010000'B)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrnumericStringMatch=00001)-1-(attrnumericStringMatch=000000001)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrnumericStringMatch>=00001)-6-(attrnumericStringMatch>=01)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attrtelephoneNumberMatch=+1 408 555 4798)-1-(attrtelephoneNumberMatch=+2 408 555 4798)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attroctetStringMatch=AAAAAAAAAAAAAAE=)-1-(attroctetStringMatch=AAAAAAAAAAAAAAEB)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_match_count[(attroctetStringMatch>=AAAAAAAAAAAAAAE=)-6-(attroctetStringMatch>=AAAAAAAAAAABAQE=)] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrbitStringMatch:bitStringMatch:='0001'B)-1] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactIA5Match:caseExactIA5Match:=Sprain)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactMatch:caseExactMatch:=ÇélIné Ändrè)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactMatch:caseExactOrderingMatch:=ÇélIné Ändrè)-5] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrgeneralizedTimeMatch:generalizedTimeMatch:=20100218171300Z)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrgeneralizedTimeMatch:generalizedTimeOrderingMatch:=20100218171300Z)-6] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrbooleanMatch:booleanMatch:=TRUE)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreIA5Match:caseIgnoreIA5Match:=sprain1)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreMatch:caseIgnoreMatch:=ÇélIné Ändrè1)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreMatch:caseIgnoreOrderingMatch:=ÇélIné Ändrè1)-6] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreListMatch:caseIgnoreListMatch:=foo1$bar)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrobjectIdentifierMatch:objectIdentifierMatch:=1.3.6.1.4.1.1466.115.121.1.15)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrdirectoryStringFirstComponentMatch:directoryStringFirstComponentMatch:=ÇélIné Ändrè1)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrobjectIdentifierFirstComponentMatch:objectIdentifierFirstComponentMatch:=1.3.6.1.4.1.1466.115.121.1.15)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrdistinguishedNameMatch:distinguishedNameMatch:=cn=foo1,cn=bar)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrintegerMatch:integerMatch:=-2)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrintegerMatch:integerOrderingMatch:=-2)-6] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrintegerFirstComponentMatch:integerFirstComponentMatch:=-2)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attruniqueMemberMatch:uniqueMemberMatch:=cn=foo1,cn=bar#'0001'B)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrnumericStringMatch:numericStringMatch:=00001)-10] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrnumericStringMatch:numericStringMatch:=00001)-11] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrtelephoneNumberMatch:telephoneNumberMatch:=+1 408 555 4798)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attroctetStringMatch:octetStringMatch:=AAAAAAAAAAAAAAE=)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attroctetStringMatch:octetStringOrderingMatch:=AAAAAAAAAAAAAAE=)-6] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactMatch=*ÇélIné Ändrè*)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactMatch=ÇélIné Ändrè*)-1] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactMatch=*ÇélIné Ändrè)-1] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactMatch=*é Ä*)-5] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactIA5Match=*Sprain*)-1] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactIA5Match=Sprain*)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactIA5Match=*Sprain)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseExactIA5Match=*rai*)-3] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreIA5Match=*sprain1*)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreIA5Match=sprain1*)-1] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreIA5Match=*sprain1)-1] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreIA5Match=*rai*)-6] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreMatch=*ÇélIné Ändrè1*)-1] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreMatch=ÇélIné Ändrè1*)-1] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreMatch=*ÇélIné Ändrè1)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreMatch=*é Ä*)-6] 0.18
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreListMatch=*foo1$bar*)-1] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreListMatch=foo1$bar*)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreListMatch=*foo1$bar)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrcaseIgnoreListMatch=*1$b*)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrnumericStringMatch=*00001*)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrnumericStringMatch=00001*)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrnumericStringMatch=*00001)-1] 0.17
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrnumericStringMatch=*000*)-6] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrtelephoneNumberMatch=*+1 408 555 4798*)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrtelephoneNumberMatch=+1 408 555 4798*)-1] 0.00
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrtelephoneNumberMatch=*+1 408 555 4798)-1] 0.01
No log output captured.
Passed suites/filter/filter_match_test.py::test_extensible_search[(attrtelephoneNumberMatch=* 55*)-6] 0.01
No log output captured.
Passed suites/filter/filter_test.py::test_filter_escaped 0.15
-------------------------------Captured log setup-------------------------------
INFO  lib389.topologies:topologies.py:106 Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.filter_test:filter_test.py:42 Running test_filter_escaped... INFO  tests.suites.filter.filter_test:filter_test.py:78 test_filter_escaped: PASSED
Passed suites/filter/filter_test.py::test_filter_search_original_attrs 0.00
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.filter_test:filter_test.py:95 Running test_filter_search_original_attrs... INFO  tests.suites.filter.filter_test:filter_test.py:108 test_filter_search_original_attrs: PASSED
Passed suites/filter/filter_test.py::test_filter_scope_one 0.01
-------------------------------Captured log call--------------------------------
INFO  tests.suites.filter.filter_test:filter_test.py:128 Search user using ldapsearch with scope one INFO  tests.suites.filter.filter_test:filter_test.py:130 [dn: cn=Directory Administrators,dc=example,dc=com cn: Directory Administrators ] INFO  tests.suites.filter.filter_test:filter_test.py:132 Search should only have one entry
Passed suites/filter/filter_test.py::test_filter_with_attribute_subtype 0.32
-------------------------------Captured log call--------------------------------
INFO  lib389:filter_test.py:157 Bind as cn=Directory Manager INFO  lib389:filter_test.py:164 ######################### ADD ###################### INFO  lib389:filter_test.py:187 Try to add Add cn=test_entry both, dc=example,dc=com: dn: cn=test_entry both, dc=example,dc=com cn: test_entry both cn;en: test_entry en cn;fr: test_entry fr objectclass: top objectclass: person sn: test_entry both INFO  lib389:filter_test.py:190 Try to add Add cn=test_entry en only, dc=example,dc=com: dn: cn=test_entry en only, dc=example,dc=com cn: test_entry en only cn;en: test_entry en objectclass: top objectclass: person sn: test_entry en only INFO  lib389:filter_test.py:193 ######################### SEARCH ###################### INFO  lib389:filter_test.py:197 Try to search with filter (&(sn=test_entry en only)(!(cn=test_entry fr))) INFO  lib389:filter_test.py:201 Found cn=test_entry en only,dc=example,dc=com INFO  lib389:filter_test.py:205 Try to search with filter (&(sn=test_entry en only)(!(cn;fr=test_entry fr))) INFO  lib389:filter_test.py:209 Found cn=test_entry en only,dc=example,dc=com INFO  lib389:filter_test.py:213 Try to search with filter (&(sn=test_entry en only)(!(cn;en=test_entry en))) INFO  lib389:filter_test.py:216 Found none INFO  lib389:filter_test.py:218 ######################### DELETE ###################### INFO  lib389:filter_test.py:220 Try to delete cn=test_entry both, dc=example,dc=com INFO  lib389:filter_test.py:223 Try to delete cn=test_entry en only, dc=example,dc=com INFO  tests.suites.filter.filter_test:filter_test.py:226 Testcase PASSED
Passed<