Build failed in Jenkins: 389-DS-NIGHTLY #119

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



See <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/119/>

------------------------------------------
[...truncated 7204 lines...]
    
        #
        # Start the server
        #
        log.info('\''Starting the server...'\'')
        topology.standalone.start()
        log.info('\''Started the server.'\'')
    
        #
        # Stop the server, break the dse.ldif so a start fails,
        # and verify that systemctl detects the failed start
        #
        log.info('\''Stopping the server...'\'')
        topology.standalone.stop()
        log.info('\''Stopped the server before breaking the dse.ldif.'\'')
    
        shutil.copy(config_dir + '\''/dse.ldif'\'', config_dir + '\''/dse.ldif.correct'\'' )
        open(config_dir + '\''/dse.ldif'\'', '\''w'\'').close()
        # We need to kill the .bak file too, DS is just too smart!
        open(config_dir + '\''/dse.ldif.bak'\'', '\''w'\'').close()
    
        log.info('\''Attempting to start the server with broken dse.ldif...'\'')
        try:
            topology.standalone.start()
        except:
            log.info('\''Server failed to start as expected'\'')
        log.info('\''Check the status...'\'')
        assert(not topology.standalone.status())
        log.info('\''Server failed to start as expected'\'')
        time.sleep(5)
    
        #
        # Fix the dse.ldif, and make sure the server starts up,
        # and systemctl correctly identifies the successful start
        #
        shutil.copy(config_dir + '\''/dse.ldif.correct'\'', config_dir + '\''/dse.ldif'\'' )
        log.info('\''Starting the server with good dse.ldif...'\'')
>       topology.standalone.start()

<http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/suites/basic/basic_test.py>:651: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
<http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:1096: in start
    "dirsrv@%s" % self.serverid])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

    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 Popen constructor.  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           CalledProcessError: Command '\''['\''/usr/bin/systemctl'\'', '\''start'\'', '\''dirsrv@standalone'\'']'\'' returned non-zero exit status 1

/usr/lib64/python2.7/subprocess.py:541: CalledProcessError
----------------------------- Captured stderr call -----------------------------
INFO:suites.basic.basic_test:Running test_basic_systemctl...
INFO:suites.basic.basic_test:Stopping the server...
INFO:suites.basic.basic_test:Stopped the server.
INFO:suites.basic.basic_test:Starting the server...
INFO:suites.basic.basic_test:Started the server.
INFO:suites.basic.basic_test:Stopping the server...
INFO:suites.basic.basic_test:Stopped the server before breaking the dse.ldif.
INFO:suites.basic.basic_test:Attempting to start the server with broken dse.ldif...
Job for dirsrv@standalone.service failed because the control process exited with error code. See "systemctl status dirsrv@standalone.service" and "journalctl -xe" for details.
INFO:suites.basic.basic_test:Server failed to start as expected
INFO:suites.basic.basic_test:Check the status...
INFO:suites.basic.basic_test:Server failed to start as expected
INFO:suites.basic.basic_test:Starting the server with good dse.ldif...
Job for dirsrv@standalone.service failed because the control process exited with error code. See "systemctl status dirsrv@standalone.service" and "journalctl -xe" for details.
___________________________ test_multi_suffix_search ___________________________

topology = <suites.paged_results.paged_results_test.TopologyStandalone object at 0x7fe620f67690>
test_user = None, new_suffixes = None

    def test_multi_suffix_search(topology, test_user, new_suffixes):
        """Verify that page result search returns empty cookie
        if there is no returned entry.
    
        :Feature: Simple paged results
    
        :Setup: Standalone instance, test user for binding,
                two suffixes with backends, one is inserted into another,
                10 users for the search base within each suffix
    
        :Steps: 1. Bind as test user
                2. Search through all 20 added users with a simple paged control
                   using page_size = 4
                3. Wait some time logs to be updated
                3. Check access log
    
        :Assert: All users should be found, the access log should contain
                 the pr_cookie for each page request and it should be equal 0,
                 except the last one should be equal -1
        """
    
        search_flt = r'\''(uid=test*)'\''
        searchreq_attrlist = ['\''dn'\'', '\''sn'\'']
        page_size = 4
        users_num = 20
    
        log.info('\''Clear the access log'\'')
        topology.standalone.deleteAccessLogs()
    
        users_list_1 = add_users(topology, users_num / 2, NEW_SUFFIX_1)
        users_list_2 = add_users(topology, users_num / 2, NEW_SUFFIX_2)
    
        try:
            log.info('\''Set DM bind'\'')
            topology.standalone.simple_bind_s(DN_DM, PASSWORD)
    
            req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='\'''\'')
    
            all_results = paged_search(topology, NEW_SUFFIX_1, [req_ctrl],
                                    search_flt, searchreq_attrlist)
    
            log.info('\''{} results'\''.format(len(all_results)))
            assert len(all_results) == users_num
    
            log.info('\''Restart the server to flush the logs'\'')
            topology.standalone.restart(timeout=10)
    
            access_log_lines = topology.standalone.ds_access_log.match('\''.*pr_cookie=.*'\'')
            pr_cookie_list = ([line.rsplit('\''='\'', 1)[-1] for line in access_log_lines])
            pr_cookie_list = [int(pr_cookie) for pr_cookie in pr_cookie_list]
            log.info('\''Assert that last pr_cookie == -1 and others pr_cookie == 0'\'')
            pr_cookie_zeros = list(pr_cookie == 0 for pr_cookie in pr_cookie_list[0:-1])
            assert all(pr_cookie_zeros)
>           assert pr_cookie_list[-1] == -1
E           IndexError: list index out of range

<http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/suites/paged_results/paged_results_test.py>:1198: IndexError
---------------------------- Captured stderr setup -----------------------------
INFO:suites.paged_results.paged_results_test:Adding suffix:o=test_parent and backend: parent_base
INFO:lib389:List backend with suffix=o=test_parent
INFO:lib389:Creating a local backend
INFO:lib389:List backend cn=parent_base,cn=ldbm database,cn=plugins,cn=config
INFO:lib389:Found entry dn: cn=parent_base,cn=ldbm database,cn=plugins,cn=config
cn: parent_base
nsslapd-cachememsize: 10485760
nsslapd-cachesize: -1
nsslapd-directory: /var/lib/dirsrv/slapd-standalone/db/parent_base
nsslapd-dncachememsize: 10485760
nsslapd-readonly: off
nsslapd-require-index: off
nsslapd-suffix: o=test_parent
objectClass: top
objectClass: extensibleObject
objectClass: nsBackendInstance


INFO:lib389:Entry dn: cn="o=test_parent",cn=mapping tree,cn=config
cn: o=test_parent
nsslapd-backend: parent_base
nsslapd-state: backend
objectclass: top
objectclass: extensibleObject
objectclass: nsMappingTree


INFO:lib389:Found entry dn: cn=o\3Dtest_parent,cn=mapping tree,cn=config
cn: o=test_parent
nsslapd-backend: parent_base
nsslapd-state: backend
objectClass: top
objectClass: extensibleObject
objectClass: nsMappingTree


INFO:suites.paged_results.paged_results_test:Adding suffix:ou=child,o=test_parent and backend: child_base
INFO:lib389:List backend with suffix=ou=child,o=test_parent
INFO:lib389:Creating a local backend
INFO:lib389:List backend cn=child_base,cn=ldbm database,cn=plugins,cn=config
INFO:lib389:Found entry dn: cn=child_base,cn=ldbm database,cn=plugins,cn=config
cn: child_base
nsslapd-cachememsize: 10485760
nsslapd-cachesize: -1
nsslapd-directory: /var/lib/dirsrv/slapd-standalone/db/child_base
nsslapd-dncachememsize: 10485760
nsslapd-readonly: off
nsslapd-require-index: off
nsslapd-suffix: ou=child,o=test_parent
objectClass: top
objectClass: extensibleObject
objectClass: nsBackendInstance


INFO:lib389:Entry dn: cn="ou=child,o=test_parent",cn=mapping tree,cn=config
cn: ou=child,o=test_parent
nsslapd-backend: child_base
nsslapd-parent-suffix: o=test_parent
nsslapd-state: backend
objectclass: top
objectclass: extensibleObject
objectclass: nsMappingTree


INFO:lib389:Found entry dn: cn=ou\3Dchild\2Co\3Dtest_parent,cn=mapping tree,cn=config
cn: ou=child,o=test_parent
nsslapd-backend: child_base
nsslapd-parent-suffix: o=test_parent
nsslapd-state: backend
objectClass: top
objectClass: extensibleObject
objectClass: nsMappingTree


INFO:suites.paged_results.paged_results_test:Adding ACI to allow our test user to search
----------------------------- Captured stderr call -----------------------------
INFO:suites.paged_results.paged_results_test:Clear the access log
INFO:suites.paged_results.paged_results_test:Adding 10 users
INFO:suites.paged_results.paged_results_test:Adding 10 users
INFO:suites.paged_results.paged_results_test:Set DM bind
INFO:suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: o=test_parent; filter: (uid=test*); attr list ['\''dn'\'', '\''sn'\'']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl instance at 0x7fe618e6b6c8>].
INFO:suites.paged_results.paged_results_test:Getting page 0
INFO:suites.paged_results.paged_results_test:Getting page 1
INFO:suites.paged_results.paged_results_test:Getting page 2
INFO:suites.paged_results.paged_results_test:Getting page 3
INFO:suites.paged_results.paged_results_test:Getting page 4
INFO:suites.paged_results.paged_results_test:Getting page 5
INFO:suites.paged_results.paged_results_test:20 results
INFO:suites.paged_results.paged_results_test:Restart the server to flush the logs
INFO:suites.paged_results.paged_results_test:Assert that last pr_cookie == -1 and others pr_cookie == 0
INFO:suites.paged_results.paged_results_test:Remove added users
INFO:suites.paged_results.paged_results_test:Deleting 10 users
INFO:suites.paged_results.paged_results_test:Deleting 10 users
============== 46 failed, 474 passed, 1 error in 7625.47 seconds ==============='
+ '[' 1 -ne 0 ']'
+ echo CI Tests 'FAILED!'
CI Tests FAILED!
+ echo ============================= test session starts ============================== platform linux2 -- Python 2.7.12, pytest-2.9.2, py-1.4.31, pluggy-0.3.1 -- /usr/bin/python2 cachedir: .cache rootdir: <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests,> inifile: plugins: sourceorder-0.5, multihost-1.0 collecting ... collected 520 items tickets/ticket1347760_test.py::test_ticket1347760 FAILED tickets/ticket365_test.py::test_ticket365 PASSED tickets/ticket47313_test.py::test_ticket47313_run PASSED tickets/ticket47384_test.py::test_ticket47384 PASSED tickets/ticket47431_test.py::test_ticket47431_0 PASSED tickets/ticket47431_test.py::test_ticket47431_1 FAILED tickets/ticket47431_test.py::test_ticket47431_2 PASSED tickets/ticket47431_test.py::test_ticket47431_3 PASSED tickets/ticket47462_test.py::test_ticket47462 FAILED tickets/ticket47490_test.py::test_ticket47490_init PASSED tickets/ticket47490_test.py::test_ticket47490_one PASSED tickets/ticket47490_test.py::test_ticket47490_two PASSED tickets/ticket47490_test.py::test_ticket47490_three PASSED tickets/ticket47490_test.py::test_ticket47490_four PASSED tickets/ticket47490_test.py::test_ticket47490_five PASSED tickets/ticket47490_test.py::test_ticket47490_six PASSED tickets/ticket47490_test.py::test_ticket47490_seven PASSED tickets/ticket47490_test.py::test_ticket47490_eight PASSED tickets/ticket47490_test.py::test_ticket47490_nine PASSED tickets/ticket47536_test.py::test_ticket47536 FAILED tickets/ticket47553_test.py::test_ticket47553 PASSED tickets/ticket47560_test.py::test_ticket47560 PASSED tickets/ticket47573_test.py::test_ticket47573_init PASSED tickets/ticket47573_test.py::test_ticket47573_one PASSED tickets/ticket47573_test.py::test_ticket47573_two PASSED tickets/ticket47573_test.py::test_ticket47573_three PASSED tickets/ticket47619_test.py::test_ticket47619_init FAILED tickets/ticket47619_test.py::test_ticket47619_create_index PASSED tickets/ticket47619_test.py::test_ticket47619_reindex PASSED tickets
/ticket47619_test.py::test_ticket47619_check_indexed_search PASSED tickets/ticket47640_test.py::test_ticket47640 PASSED tickets/ticket47653MMR_test.py::test_ticket47653_init PASSED tickets/ticket47653MMR_test.py::test_ticket47653_add PASSED tickets/ticket47653MMR_test.py::test_ticket47653_modify PASSED tickets/ticket47653_test.py::test_ticket47653_init PASSED tickets/ticket47653_test.py::test_ticket47653_add PASSED tickets/ticket47653_test.py::test_ticket47653_search PASSED tickets/ticket47653_test.py::test_ticket47653_modify PASSED tickets/ticket47653_test.py::test_ticket47653_delete PASSED tickets/ticket47669_test.py::test_ticket47669_init FAILED tickets/ticket47669_test.py::test_ticket47669_changelog_maxage FAILED tickets/ticket47669_test.py::test_ticket47669_changelog_triminterval FAILED tickets/ticket47669_test.py::test_ticket47669_changelog_compactdbinterval FAILED tickets/ticket47669_test.py::test_ticket47669_retrochangelog_maxage FAILED tickets/ticket47676_test.py::test_ticket47676_init PASSED tickets/ticket47676_test.py::test_ticket47676_skip_oc_at PASSED tickets/ticket47676_test.py::test_ticket47676_reject_action PASSED tickets/ticket47714_test.py::test_ticket47714_init PASSED tickets/ticket47714_test.py::test_ticket47714_run_0 PASSED tickets/ticket47714_test.py::test_ticket47714_run_1 PASSED tickets/ticket47721_test.py::test_ticket47721_init PASSED tickets/ticket47721_test.py::test_ticket47721_0 PASSED tickets/ticket47721_test.py::test_ticket47721_1 PASSED tickets/ticket47721_test.py::test_ticket47721_2 PASSED tickets/ticket47721_test.py::test_ticket47721_3 PASSED tickets/ticket47721_test.py::test_ticket47721_4 PASSED tickets/ticket47781_test.py::test_ticket47781 PASSED tickets/ticket47787_test.py::test_ticket47787_init PASSED tickets/ticket47787_test.py::test_ticket47787_2 PASSED tickets/ticket47808_test.py::test_ticket47808_run PASSED tickets/ticket47815_test.py::test_ticket47815 PASSED tickets/ticket47819_test.py::test_ticket47819 PASSED tickets/ticket47823_test.py::test_ticket47823_init FAILED tick
ets/ticket47823_test.py::test_ticket47823_one_container_add FAILED tickets/ticket47823_test.py::test_ticket47823_one_container_mod FAILED tickets/ticket47823_test.py::test_ticket47823_one_container_modrdn FAILED tickets/ticket47823_test.py::test_ticket47823_multi_containers_add FAILED tickets/ticket47823_test.py::test_ticket47823_multi_containers_mod FAILED tickets/ticket47823_test.py::test_ticket47823_multi_containers_modrdn FAILED tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_add FAILED tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_mod FAILED tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_modrdn FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_1 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_2 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_3 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_4 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_5 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_6 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_7 FAILED tickets/ticket47828_test.py::test_ticket47828_init PASSED tickets/ticket47828_test.py::test_ticket47828_run_0 PASSED tickets/ticket47828_test.py::test_ticket47828_run_1 PASSED tickets/ticket47828_test.py::test_ticket47828_run_2 PASSED tickets/ticket47828_test.py::test_ticket47828_run_3 PASSED tickets/ticket47828_test.py::test_ticket47828_run_4 PASSED tickets/ticket47828_test.py::test_ticket47828_run_5 PASSED tickets/ticket47828_test.py::test_ticket47828_run_6 PASSED tickets/ticket47828_test.py::test_ticket47828_run_7 PASSED tickets/ticket47828_test.py::test_ticket47828_run_8 PASSED tickets/ticket47828_test.py::test_ticket47828_run_9 PASSED tickets/ticket47828_test.py::test_ticket47828_run_10 PASSED tickets/ticket47828_test.py::test_ticket47828_run_11 PASSED tickets/ticket47828_test.py::test_ticket47828_run_12 PASSED tickets/ticket47828_test.py::test_ticket47828_r
un_13 PASSED tickets/ticket47828_test.py::test_ticket47828_run_14 PASSED tickets/ticket47828_test.py::test_ticket47828_run_15 PASSED tickets/ticket47828_test.py::test_ticket47828_run_16 PASSED tickets/ticket47828_test.py::test_ticket47828_run_17 PASSED tickets/ticket47828_test.py::test_ticket47828_run_18 PASSED tickets/ticket47828_test.py::test_ticket47828_run_19 PASSED tickets/ticket47828_test.py::test_ticket47828_run_20 PASSED tickets/ticket47828_test.py::test_ticket47828_run_21 PASSED tickets/ticket47828_test.py::test_ticket47828_run_22 PASSED tickets/ticket47828_test.py::test_ticket47828_run_23 PASSED tickets/ticket47828_test.py::test_ticket47828_run_24 PASSED tickets/ticket47828_test.py::test_ticket47828_run_25 PASSED tickets/ticket47828_test.py::test_ticket47828_run_26 PASSED tickets/ticket47828_test.py::test_ticket47828_run_27 PASSED tickets/ticket47828_test.py::test_ticket47828_run_28 PASSED tickets/ticket47828_test.py::test_ticket47828_run_29 PASSED tickets/ticket47828_test.py::test_ticket47828_run_30 PASSED tickets/ticket47828_test.py::test_ticket47828_run_31 PASSED tickets/ticket47829_test.py::test_ticket47829_init PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_2 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_3 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_2 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_3 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_out_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_out_user_2 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_out_user_3 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_active_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_stage_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_out_user_1 PASSED tick
ets/ticket47829_test.py::test_ticket47829_mod_modrdn_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_modrdn_active_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_modrdn_stage_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_1 PASSED tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_2 PASSED tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_3 PASSED tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_4 PASSED tickets/ticket47833_test.py::test_ticket47829_init PASSED tickets/ticket47833_test.py::test_ticket47829_mod_stage_user_modrdn_stage_user_1 PASSED tickets/ticket47869MMR_test.py::test_ticket47869_init PASSED tickets/ticket47869MMR_test.py::test_ticket47869_check PASSED tickets/ticket47871_test.py::test_ticket47871_init FAILED tickets/ticket47871_test.py::test_ticket47871_1 PASSED tickets/ticket47871_test.py::test_ticket47871_2 PASSED tickets/ticket47900_test.py::test_ticket47900 PASSED tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_positive PASSED tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_negative PASSED tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_invalid PASSED tickets/ticket47910_test.py::test_ticket47910_logconv_noaccesslogs PASSED tickets/ticket47920_test.py::test_ticket47920_init PASSED tickets/ticket47920_test.py::test_ticket47920_mod_readentry_ctrl PASSED tickets/ticket47921_test.py::test_ticket47921 PASSED tickets/ticket47927_test.py::test_ticket47927_init PASSED tickets/ticket47927_test.py::test_ticket47927_one PASSED tickets/ticket47927_test.py::test_ticket47927_two PASSED tickets/ticket47927_test.py::test_ticket47927_three PASSED tickets/ticket47927_test.py::test_ticket47927_four PASSED tickets/ticket47927_test.py::test_ticket47927_five PASSED tickets/ticket47927_test.py::test_ticket47927_six PASSED tickets/ticket47931_test.py::test_ticket47931 PASSED tickets/ticket47937_test.py::test_ticket47937 PASSED ticke
ts/ticket47950_test.py::test_ticket47950 PASSED tickets/ticket47953_test.py::test_ticket47953 PASSED tickets/ticket47963_test.py::test_ticket47963 PASSED tickets/ticket47966_test.py::test_ticket47966 PASSED tickets/ticket47970_test.py::test_ticket47970 PASSED tickets/ticket47973_test.py::test_ticket47973 PASSED tickets/ticket47976_test.py::test_ticket47976_init PASSED tickets/ticket47976_test.py::test_ticket47976_1 PASSED tickets/ticket47976_test.py::test_ticket47976_2 PASSED tickets/ticket47976_test.py::test_ticket47976_3 PASSED tickets/ticket47980_test.py::test_ticket47980 PASSED tickets/ticket47981_test.py::test_ticket47981 PASSED tickets/ticket47988_test.py::test_ticket47988_init PASSED tickets/ticket47988_test.py::test_ticket47988_1 PASSED tickets/ticket47988_test.py::test_ticket47988_2 PASSED tickets/ticket47988_test.py::test_ticket47988_3 PASSED tickets/ticket47988_test.py::test_ticket47988_4 PASSED tickets/ticket47988_test.py::test_ticket47988_5 PASSED tickets/ticket47988_test.py::test_ticket47988_6 PASSED tickets/ticket48005_test.py::test_ticket48005_setup PASSED tickets/ticket48005_test.py::test_ticket48005_memberof PASSED tickets/ticket48005_test.py::test_ticket48005_automember FAILED tickets/ticket48005_test.py::test_ticket48005_syntaxvalidate FAILED tickets/ticket48005_test.py::test_ticket48005_usn FAILED tickets/ticket48005_test.py::test_ticket48005_schemareload FAILED tickets/ticket48013_test.py::test_ticket48013 PASSED tickets/ticket48026_test.py::test_ticket48026 PASSED tickets/ticket48109_test.py::test_ticket48109 FAILED tickets/ticket48170_test.py::test_ticket48170 PASSED tickets/ticket48194_test.py::test_init PASSED tickets/ticket48194_test.py::test_run_0 PASSED tickets/ticket48194_test.py::test_run_1 PASSED tickets/ticket48194_test.py::test_run_2 PASSED tickets/ticket48194_test.py::test_run_3 PASSED tickets/ticket48194_test.py::test_run_4 PASSED tickets/ticket48194_test.py::test_run_5 PASSED tickets/ticket48194_test.py::test_run_6 PASSED tickets/ticket48194_test.py::test_run_7 PASSED tickets/
ticket48194_test.py::test_run_8 PASSED tickets/ticket48194_test.py::test_run_9 PASSED tickets/ticket48194_test.py::test_run_10 PASSED tickets/ticket48194_test.py::test_run_11 PASSED tickets/ticket48212_test.py::test_ticket48212 PASSED tickets/ticket48214_test.py::test_ticket48214_run PASSED tickets/ticket48226_test.py::test_ticket48226_set_purgedelay PASSED tickets/ticket48226_test.py::test_ticket48226_1 FAILED tickets/ticket48226_test.py::test_ticket48226_1 ERROR tickets/ticket48228_test.py::test_ticket48228_test_global_policy PASSED tickets/ticket48228_test.py::test_ticket48228_test_subtree_policy PASSED tickets/ticket48233_test.py::test_ticket48233 PASSED tickets/ticket48234_test.py::test_ticket48234 PASSED tickets/ticket48252_test.py::test_ticket48252_setup PASSED tickets/ticket48252_test.py::test_ticket48252_run_0 PASSED tickets/ticket48252_test.py::test_ticket48252_run_1 PASSED tickets/ticket48265_test.py::test_ticket48265_test PASSED tickets/ticket48266_test.py::test_ticket48266_fractional PASSED tickets/ticket48266_test.py::test_ticket48266_check_repl_desc PASSED tickets/ticket48266_test.py::test_ticket48266_count_csn_evaluation FAILED tickets/ticket48270_test.py::test_ticket48270_init PASSED tickets/ticket48270_test.py::test_ticket48270_homeDirectory_indexed_cis FAILED tickets/ticket48270_test.py::test_ticket48270_homeDirectory_mixed_value PASSED tickets/ticket48270_test.py::test_ticket48270_extensible_search PASSED tickets/ticket48272_test.py::test_ticket48272 PASSED tickets/ticket48294_test.py::test_48294_init PASSED tickets/ticket48294_test.py::test_48294_run_0 PASSED tickets/ticket48294_test.py::test_48294_run_1 PASSED tickets/ticket48294_test.py::test_48294_run_2 PASSED tickets/ticket48295_test.py::test_48295_init PASSED tickets/ticket48295_test.py::test_48295_run PASSED tickets/ticket48312_test.py::test_ticket48312 PASSED tickets/ticket48325_test.py::test_ticket48325 PASSED tickets/ticket48342_test.py::test_ticket4026 PASSED tickets/ticket48354_test.py::test_ticket48354 PASSED tickets/ticket48362_t
est.py::test_ticket48362 PASSED tickets/ticket48366_test.py::test_ticket48366_init PASSED tickets/ticket48366_test.py::test_ticket48366_search_user PASSED tickets/ticket48366_test.py::test_ticket48366_search_dm PASSED tickets/ticket48370_test.py::test_ticket48370 PASSED tickets/ticket48383_test.py::test_ticket48383 FAILED tickets/ticket48497_test.py::test_ticket48497_init PASSED tickets/ticket48497_test.py::test_ticket48497_homeDirectory_mixed_value PASSED tickets/ticket48497_test.py::test_ticket48497_extensible_search PASSED tickets/ticket48497_test.py::test_ticket48497_homeDirectory_index_cfg PASSED tickets/ticket48497_test.py::test_ticket48497_homeDirectory_index_run FAILED tickets/ticket48637_test.py::test_ticket48637 PASSED tickets/ticket48665_test.py::test_ticket48665 PASSED tickets/ticket48745_test.py::test_ticket48745_init PASSED tickets/ticket48745_test.py::test_ticket48745_homeDirectory_indexed_cis FAILED tickets/ticket48745_test.py::test_ticket48745_homeDirectory_mixed_value PASSED tickets/ticket48745_test.py::test_ticket48745_extensible_search_after_index PASSED tickets/ticket48746_test.py::test_ticket48746_init PASSED tickets/ticket48746_test.py::test_ticket48746_homeDirectory_indexed_cis FAILED tickets/ticket48746_test.py::test_ticket48746_homeDirectory_mixed_value PASSED tickets/ticket48746_test.py::test_ticket48746_extensible_search_after_index PASSED tickets/ticket48746_test.py::test_ticket48746_homeDirectory_indexed_ces FAILED tickets/ticket48755_test.py::test_ticket48755 PASSED tickets/ticket48759_test.py::test_ticket48759 PASSED tickets/ticket48784_test.py::test_ticket48784 PASSED tickets/ticket48798_test.py::test_ticket48798 PASSED tickets/ticket48799_test.py::test_ticket48799 PASSED tickets/ticket48808_test.py::test_ticket48808 PASSED tickets/ticket48844_test.py::test_ticket48844_init PASSED tickets/ticket48844_test.py::test_ticket48844_bitwise_on PASSED tickets/ticket48844_test.py::test_ticket48844_bitwise_off PASSED tickets/ticket48891_test.py::test_ticket48891_setup PASSED tickets/ticket4
8893_test.py::test_ticket48893 PASSED tickets/ticket48896_test.py::test_ticket48896 PASSED tickets/ticket48906_test.py::test_ticket48906_setup PASSED tickets/ticket48906_test.py::test_ticket48906_dblock_default PASSED tickets/ticket48906_test.py::test_ticket48906_dblock_ldap_update FAILED tickets/ticket48906_test.py::test_ticket48906_dblock_edit_update FAILED tickets/ticket48906_test.py::test_ticket48906_dblock_robust FAILED tickets/ticket48916_test.py::test_ticket48916 PASSED tickets/ticket48956_test.py::test_ticket48956 PASSED tickets/ticket548_test.py::test_ticket548_test_with_no_policy PASSED tickets/ticket548_test.py::test_ticket548_test_global_policy PASSED tickets/ticket548_test.py::test_ticket548_test_subtree_policy PASSED suites/acct_usability_plugin/acct_usability_test.py::test_acct_usability_init PASSED suites/acct_usability_plugin/acct_usability_test.py::test_acct_usability_ PASSED suites/acctpolicy_plugin/acctpolicy_test.py::test_acctpolicy_init PASSED suites/acctpolicy_plugin/acctpolicy_test.py::test_acctpolicy_ PASSED 'suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[lang-ja]' PASSED 'suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[binary]' PASSED 'suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[phonetic]' PASSED suites/acl/acl_test.py::test_mode_default_add_deny PASSED suites/acl/acl_test.py::test_mode_default_delete_deny 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]' 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]' 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]' PASSED 'suites/acl/acl_test.py::test_moddn_staging_prod[3-cn=st*,dc=example,dc=com-cn=accounts,dc=example,dc=com-False]' PASSED 'suites/acl/acl_test.py::test_moddn_staging_prod[4-cn=bad*,dc=example,dc=com-cn=accounts,dc=example,dc=com-True]' PASSED 'suites/acl/acl_test.py::
test_moddn_staging_prod[5-cn=st*,dc=example,dc=com-cn=ac*,dc=example,dc=com-False]' PASSED 'suites/acl/acl_test.py::test_moddn_staging_prod[6-None-cn=ac*,dc=example,dc=com-False]' PASSED 'suites/acl/acl_test.py::test_moddn_staging_prod[7-cn=st*,dc=example,dc=com-None-False]' PASSED 'suites/acl/acl_test.py::test_moddn_staging_prod[8-None-None-False]' PASSED suites/acl/acl_test.py::test_moddn_staging_prod_9 PASSED suites/acl/acl_test.py::test_moddn_prod_staging PASSED suites/acl/acl_test.py::test_check_repl_M2_to_M1 PASSED suites/acl/acl_test.py::test_moddn_staging_prod_except PASSED suites/acl/acl_test.py::test_mode_default_ger_no_moddn PASSED suites/acl/acl_test.py::test_mode_default_ger_with_moddn PASSED suites/acl/acl_test.py::test_mode_switch_default_to_legacy PASSED suites/acl/acl_test.py::test_mode_legacy_ger_no_moddn1 PASSED suites/acl/acl_test.py::test_mode_legacy_ger_no_moddn2 PASSED suites/acl/acl_test.py::test_mode_legacy_ger_with_moddn PASSED suites/acl/acl_test.py::test_rdn_write_get_ger PASSED suites/acl/acl_test.py::test_rdn_write_modrdn_anonymous PASSED suites/attr_encryption/attr_encrypt_test.py::test_attr_encrypt_init PASSED suites/attr_encryption/attr_encrypt_test.py::test_attr_encrypt_ PASSED suites/attr_uniqueness_plugin/attr_uniqueness_test.py::test_attr_uniqueness_init PASSED suites/attr_uniqueness_plugin/attr_uniqueness_test.py::test_attr_uniqueness PASSED suites/automember_plugin/automember_test.py::test_automember_init PASSED suites/automember_plugin/automember_test.py::test_automember_ PASSED suites/basic/basic_test.py::test_basic_ops PASSED suites/basic/basic_test.py::test_basic_import_export PASSED suites/basic/basic_test.py::test_basic_backup PASSED suites/basic/basic_test.py::test_basic_acl PASSED suites/basic/basic_test.py::test_basic_searches PASSED suites/basic/basic_test.py::test_basic_referrals PASSED suites/basic/basic_test.py::test_basic_systemctl FAILED suites/basic/basic_test.py::test_basic_ldapagent PASSED suites/basic/basic_test.py::test_basic_dse PASSED 'suites/basic/basi
c_test.py::test_def_rootdse_attr[namingContexts]' PASSED 'suites/basic/basic_test.py::test_def_rootdse_attr[supportedLDAPVersion]' PASSED 'suites/basic/basic_test.py::test_def_rootdse_attr[supportedControl]' PASSED 'suites/basic/basic_test.py::test_def_rootdse_attr[supportedExtension]' PASSED 'suites/basic/basic_test.py::test_def_rootdse_attr[supportedSASLMechanisms]' PASSED 'suites/basic/basic_test.py::test_def_rootdse_attr[vendorName]' PASSED 'suites/basic/basic_test.py::test_def_rootdse_attr[vendorVersion]' PASSED 'suites/basic/basic_test.py::test_mod_def_rootdse_attr[namingContexts]' PASSED 'suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedLDAPVersion]' PASSED 'suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedControl]' PASSED 'suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedExtension]' PASSED 'suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedSASLMechanisms]' PASSED 'suites/basic/basic_test.py::test_mod_def_rootdse_attr[vendorName]' PASSED 'suites/basic/basic_test.py::test_mod_def_rootdse_attr[vendorVersion]' PASSED suites/betxns/betxn_test.py::test_betxn_init PASSED suites/betxns/betxn_test.py::test_betxt_7bit PASSED suites/betxns/betxn_test.py::test_betxn_attr_uniqueness PASSED suites/betxns/betxn_test.py::test_betxn_memberof PASSED suites/chaining_plugin/chaining_test.py::test_chaining_init PASSED suites/chaining_plugin/chaining_test.py::test_chaining_ PASSED suites/clu/clu_test.py::test_clu_init PASSED suites/clu/clu_test.py::test_clu_pwdhash PASSED suites/clu/db2ldif_test.py::test_db2ldif_init PASSED suites/collation_plugin/collatation_test.py::test_collatation_init PASSED suites/collation_plugin/collatation_test.py::test_collatation_ PASSED suites/config/config_test.py::test_maxbersize_repl PASSED suites/config/config_test.py::test_config_listen_backport_size PASSED suites/config/config_test.py::test_config_deadlock_policy PASSED suites/cos_plugin/cos_test.py::test_cos_init PASSED suites/cos_plugin/cos_test.py::test_cos_ PASSED suites/deref_plugin/
deref_test.py::test_deref_init PASSED suites/deref_plugin/deref_test.py::test_deref_ PASSED suites/disk_monitoring/disk_monitor_test.py::test_disk_monitor_init PASSED suites/disk_monitoring/disk_monitor_test.py::test_disk_monitor_ PASSED suites/distrib_plugin/distrib_test.py::test_distrib_init PASSED suites/distrib_plugin/distrib_test.py::test_distrib_ PASSED suites/dna_plugin/dna_test.py::test_dna_init PASSED suites/dna_plugin/dna_test.py::test_dna_ PASSED suites/ds_logs/ds_logs_test.py::test_ds_logs_init PASSED suites/ds_logs/ds_logs_test.py::test_ds_logs_ PASSED suites/dynamic-plugins/test_dynamic_plugins.py::test_dynamic_plugins PASSED suites/filter/filter_test.py::test_filter_init PASSED suites/filter/filter_test.py::test_filter_escaped PASSED suites/filter/filter_test.py::test_filter_search_original_attrs PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_supported_features PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0-*]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0-objectClass]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1-*]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1-objectClass]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2-*]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2-objectClass]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-True-oper_attr_list3]' PASSED 'suites/filter/rfc3673_al
l_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-True-oper_attr_list3-*]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-True-oper_attr_list3-objectClass]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-False-oper_attr_list4]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-False-oper_attr_list4-*]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-False-oper_attr_list4-objectClass]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-True-oper_attr_list5]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-True-oper_attr_list5-*]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-True-oper_attr_list5-objectClass]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6-*]' PASSED 'suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6-objectClass]' PASSED suites/get_effective_rights/ger_test.py::test_ger_init PASSED suites/get_effective_rights/ger_test.py::test_ger_ PASSED suites/gssapi_repl/gssapi_repl_test.py::test_gssapi_repl PASSED suites/ldapi/ldapi_test.py::test_ldapi_init PASSED suites/ldapi/ldapi_test.py::test_ldapi_ PASSED suites/linkedattrs_plugin/linked_attrs_test.py::test_linked_attrs_init PASSED suites/linkedattrs_plugin/linked_attrs_test.py::test_linked_attrs_ PASSED suites/mapping_tree/mapping_tree_test.py::test_mapping_tree_init PASSED suites/mapping_tree/mapping_tree_test.py::test_mapping_tree_ PASSED suites/memberof_plugin/m
emberof_test.py::test_memberof_auto_add_oc PASSED suites/memory_leaks/range_search_test.py::test_range_search_init PASSED suites/memory_leaks/range_search_test.py::test_range_search PASSED suites/monitor/monitor_test.py::test_monitor_init PASSED suites/monitor/monitor_test.py::test_monitor_ PASSED 'suites/paged_results/paged_results_test.py::test_search_success[6-5]' PASSED 'suites/paged_results/paged_results_test.py::test_search_success[5-5]' PASSED 'suites/paged_results/paged_results_test.py::test_search_success[5-25]' PASSED 'suites/paged_results/paged_results_test.py::test_search_limits_fail[50-200-cn=config,cn=ldbm' 'database,cn=plugins,cn=config-nsslapd-idlistscanlimit-100-UNWILLING_TO_PERFORM]' PASSED 'suites/paged_results/paged_results_test.py::test_search_limits_fail[5-15-cn=config-nsslapd-timelimit-20-UNAVAILABLE_CRITICAL_EXTENSION]' PASSED 'suites/paged_results/paged_results_test.py::test_search_limits_fail[21-50-cn=config-nsslapd-sizelimit-20-SIZELIMIT_EXCEEDED]' PASSED 'suites/paged_results/paged_results_test.py::test_search_limits_fail[21-50-cn=config-nsslapd-pagedsizelimit-5-SIZELIMIT_EXCEEDED]' PASSED 'suites/paged_results/paged_results_test.py::test_search_limits_fail[5-50-cn=config,cn=ldbm' 'database,cn=plugins,cn=config-nsslapd-lookthroughlimit-20-ADMINLIMIT_EXCEEDED]' PASSED suites/paged_results/paged_results_test.py::test_search_sort_success PASSED suites/paged_results/paged_results_test.py::test_search_abandon PASSED suites/paged_results/paged_results_test.py::test_search_with_timelimit PASSED 'suites/paged_results/paged_results_test.py::test_search_dns_ip_aci[dns' = '"localhost.localdomain"]' PASSED 'suites/paged_results/paged_results_test.py::test_search_dns_ip_aci[ip' = '"::1"' or ip = '"127.0.0.1"]' PASSED suites/paged_results/paged_results_test.py::test_search_multiple_paging PASSED 'suites/paged_results/paged_results_test.py::test_search_invalid_cookie[1000]' PASSED 'suites/paged_results/paged_results_test.py::test_search_invalid_cookie[-1]' PASSED suites/paged_results/paged_results_te
st.py::test_search_abandon_with_zero_size PASSED suites/paged_results/paged_results_test.py::test_search_pagedsizelimit_success PASSED 'suites/paged_results/paged_results_test.py::test_search_nspagedsizelimit[5-15-PASS]' PASSED 'suites/paged_results/paged_results_test.py::test_search_nspagedsizelimit[15-5-SIZELIMIT_EXCEEDED]' PASSED 'suites/paged_results/paged_results_test.py::test_search_paged_limits[conf_attr_values0-ADMINLIMIT_EXCEEDED]' PASSED 'suites/paged_results/paged_results_test.py::test_search_paged_limits[conf_attr_values1-PASS]' PASSED 'suites/paged_results/paged_results_test.py::test_search_paged_user_limits[conf_attr_values0-ADMINLIMIT_EXCEEDED]' PASSED 'suites/paged_results/paged_results_test.py::test_search_paged_user_limits[conf_attr_values1-PASS]' PASSED suites/paged_results/paged_results_test.py::test_ger_basic PASSED suites/paged_results/paged_results_test.py::test_multi_suffix_search FAILED 'suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_success[None]' PASSED 'suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_success[-1]' PASSED 'suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_success[1000]' PASSED 'suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_failure[0]' PASSED 'suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_failure[1]' PASSED suites/pam_passthru_plugin/pam_test.py::test_pam_init PASSED suites/pam_passthru_plugin/pam_test.py::test_pam_ PASSED suites/passthru_plugin/passthru_test.py::test_passthru_init PASSED suites/passthru_plugin/passthru_test.py::test_passthru_ PASSED suites/password/password_test.py::test_password_init PASSED suites/password/password_test.py::test_password_delete_specific_password PASSED suites/password/pwdAdmin_test.py::test_pwdAdmin_init PASSED suites/password/pwdAdmin_test.py::test_pwdAdmin PASSED suites/password/pwdAdmin_test.py::test_pwdAdmin_config_validation PASSED 'suites/password/pwdPolicy_attribute_test.py::test_change_pwd[on-off-UNWILL
ING_TO_PERFORM]' PASSED 'suites/password/pwdPolicy_attribute_test.py::test_change_pwd[off-off-UNWILLING_TO_PERFORM]' PASSED 'suites/password/pwdPolicy_attribute_test.py::test_change_pwd[off-on-None]' PASSED 'suites/password/pwdPolicy_attribute_test.py::test_change_pwd[on-on-None]' PASSED suites/password/pwdPolicy_attribute_test.py::test_pwd_min_age PASSED 'suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_no_restrictions[off-off]' PASSED 'suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_no_restrictions[on-off]' PASSED 'suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_no_restrictions[off-on]' PASSED 'suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_restrictions[cn=config]' PASSED 'suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_restrictions[cn="cn=nsPwPolicyEntry,ou=People,dc=example,dc=com",cn=nsPwPolicyContainer,ou=People,dc=example,dc=com]' PASSED suites/password/pwdPolicy_syntax_test.py::test_pwdPolicy_syntax PASSED 'suites/password/pwdPolicy_warning_test.py::test_different_values[' ']' PASSED 'suites/password/pwdPolicy_warning_test.py::test_different_values[junk123]' PASSED 'suites/password/pwdPolicy_warning_test.py::test_different_values[on]' PASSED 'suites/password/pwdPolicy_warning_test.py::test_different_values[off]' PASSED suites/password/pwdPolicy_warning_test.py::test_expiry_time PASSED 'suites/password/pwdPolicy_warning_test.py::test_password_warning[passwordSendExpiringTime-off]' PASSED 'suites/password/pwdPolicy_warning_test.py::test_password_warning[passwordWarning-3600]' PASSED suites/password/pwdPolicy_warning_test.py::test_with_different_password_states PASSED suites/password/pwdPolicy_warning_test.py::test_default_behavior PASSED suites/password/pwdPolicy_warning_test.py::test_with_local_policy PASSED suites/password/pwp_history_test.py::test_pwp_history_test PASSED suites/posix_winsync_plugin/posix_winsync_test.py::test_posix_winsync_init PASSED suites/posix_winsync_plugin/posix_winsync_test.py::test_posix_winsync_
 PASSED suites/psearch/psearch_test.py::test_psearch_init PASSED suites/psearch/psearch_test.py::test_psearch_ PASSED suites/referint_plugin/referint_test.py::test_referint_init PASSED suites/referint_plugin/referint_test.py::test_referint_ PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_init PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_clean PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_clean_restart PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_clean_force PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_abort PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_abort_restart PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_abort_certify PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_stress_clean PASSED suites/replication/wait_for_async_feature_test.py::test_not_int_value PASSED suites/replication/wait_for_async_feature_test.py::test_multi_value PASSED 'suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr0]' PASSED 'suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr1]' PASSED 'suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr2]' PASSED 'suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr3]' PASSED 'suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr0]' PASSED 'suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr1]' PASSED 'suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr2]' PASSED 'suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr3]' PASSED suites/replsync_plugin/repl_sync_test.py::test_repl_sync_init PASSED suites/replsync_plugin/repl_sync_test.py::test_repl_sync_ PASSED suites/resource_limits/res_limits_test.py::test_res_limits_init PASSED suites/resource_limits/res_limi
ts_test.py::test_res_limits_ PASSED suites/retrocl_plugin/retrocl_test.py::test_retrocl_init PASSED suites/retrocl_plugin/retrocl_test.py::test_retrocl_ PASSED suites/reverpwd_plugin/reverpwd_test.py::test_reverpwd_init PASSED suites/reverpwd_plugin/reverpwd_test.py::test_reverpwd_ PASSED suites/roles_plugin/roles_test.py::test_roles_init PASSED suites/roles_plugin/roles_test.py::test_roles_ PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_init PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_specific_time PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_day_of_week PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_denied_ip PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_denied_host PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_allowed_ip PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_allowed_host PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_config_validate PASSED suites/sasl/sasl_test.py::test_sasl_init PASSED suites/sasl/sasl_test.py::test_sasl_ PASSED suites/schema/test_schema.py::test_schema_comparewithfiles PASSED suites/schema_reload_plugin/schema_reload_test.py::test_schema_reload_init PASSED suites/schema_reload_plugin/schema_reload_test.py::test_schema_reload_ PASSED suites/snmp/snmp_test.py::test_snmp_init PASSED suites/snmp/snmp_test.py::test_snmp_ PASSED suites/ssl/ssl_test.py::test_ssl_init PASSED suites/ssl/ssl_test.py::test_ssl_ PASSED suites/syntax_plugin/syntax_test.py::test_syntax_init PASSED suites/syntax_plugin/syntax_test.py::test_syntax_ PASSED suites/usn_plugin/usn_test.py::test_usn_init PASSED suites/usn_plugin/usn_test.py::test_usn_ PASSED suites/views_plugin/views_test.py::test_views_init PASSED suites/views_plugin/views_test.py::test_views_ PASSED suites/vlv/vlv_test.py::test_vlv_init PASSED suites/vlv/vlv_test.py::test_vlv_ PASSED suites/whoami_plugin/whoami_test.py::test_whoami_init PASSED suites/whoami_plugin/whoami_test.p
y::test_whoami_ PASSED ==================================== ERRORS ==================================== ___________________ ERROR at teardown of test_ticket48226_1 ____________________ def 'fin():' 'master1.delete()' 'master2.delete()' sbin_dir = 'master2.get_sbin_dir()' if not 'master2.has_asan():' '>' 'valgrind_disable(sbin_dir)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48226_test.py>:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sbin_dir = ''\''/usr/sbin'\''' def 'valgrind_disable(sbin_dir):' ''\'''\'''\''' Restore the ns-slapd binary to its original state - the server instances are expected to be stopped. Note - selinux is enabled at the end of this process. :param sbin_dir - the location of the ns-slapd binary '(e.g.' '/usr/sbin)' :raise ValueError :raise EnvironmentError: If script is not run as ''\''root'\''' ''\'''\'''\''' if 'os.geteuid()' '!=' 0: 'log.error('\''This' script must be run as root to use 'valgrind'\'')' raise EnvironmentError nsslapd_orig = ''\''%s/ns-slapd'\''' % sbin_dir nsslapd_backup = ''\''%s/ns-slapd.original'\''' % sbin_dir '#' Restore the original ns-slapd try: 'shutil.copyfile(nsslapd_backup,' 'nsslapd_orig)' except IOError as e: 'log.fatal('\''valgrind_disable:' failed to restore ns-slapd, error: '%s'\''' % 'e.strerror)' '>' raise 'ValueError('\''failed' to restore ns-slapd, error: '%s'\''' % 'e.strerror)' E ValueError: failed to restore ns-slapd, error: Text file busy <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/utils.py>:288: ValueError ----------------------------- Captured stderr call ----------------------------- 'CRITICAL:lib389.utils:valgrind_enable():' failed to copy valgrind wrapper to ns-slapd, error: Text file busy --------------------------- Captured stdout teardown --------------------------- Instance slapd-master_1 removed. Instance slapd-master_2 removed. --------------------------- Captured stderr 
teardown --------------------------- CRITICAL:lib389.utils:valgrind_disable: failed to restore ns-slapd, error: Text file busy =================================== FAILURES =================================== ______________________________ test_ticket1347760 ______________________________ topology = '<tickets.ticket1347760_test.TopologyStandalone' object at '0x7fe6221e3210>' def 'test_ticket1347760(topology):' '"""' Prevent revealing the entry info to whom has no access rights. '"""' 'log.info('\''Testing' Bug 1347760 - Information disclosure via repeated use of LDAP ADD operation, 'etc.'\'')' 'log.info('\''Disabling' accesslog 'logbuffering'\'')' 'topology.standalone.modify_s(CONFIG_DN,' '[(ldap.MOD_REPLACE,' ''\''nsslapd-accesslog-logbuffering'\'',' ''\''off'\'')])' 'log.info('\''Bind' as '{%s,%s}'\''' % '(DN_DM,' 'PASSWORD))' 'topology.standalone.simple_bind_s(DN_DM,' 'PASSWORD)' 'log.info('\''Adding' ou=%s a bind user belongs 'to.'\''' % 'BOU)' 'topology.standalone.add_s(Entry((BINDOU,' '{' ''\''objectclass'\'':' ''\''top' 'organizationalunit'\''.split(),' ''\''ou'\'':' 'BOU})))' 'log.info('\''Adding' a bind 'user.'\'')' 'topology.standalone.add_s(Entry((BINDDN,' '{'\''objectclass'\'':' '"top' person organizationalPerson 'inetOrgPerson".split(),' ''\''cn'\'':' ''\''bind' 'user'\'',' ''\''sn'\'':' ''\''user'\'',' ''\''userPassword'\'':' 'BINDPW})))' 'log.info('\''Adding' a test 'user.'\'')' 'topology.standalone.add_s(Entry((TESTDN,' '{'\''objectclass'\'':' '"top' person organizationalPerson 'inetOrgPerson".split(),' ''\''cn'\'':' ''\''test' 'user'\'',' ''\''sn'\'':' ''\''user'\'',' ''\''userPassword'\'':' 'TESTPW})))' 'log.info('\''Deleting' aci in '%s.'\''' % 'DEFAULT_SUFFIX)' 'topology.standalone.modify_s(DEFAULT_SUFFIX,' '[(ldap.MOD_DELETE,' ''\''aci'\'',' 'None)])' 'log.info('\''Bind' case 1. the bind user has no rights to read the entry itself, bind should be 'successful.'\'')' 'log.info('\''Bind' as '{%s,%s}' who has no access 'rights.'\''' % '(BINDDN,' 'BINDPW))' try: 'topology.standalone.simple_bind_s(B
INDDN,' 'BINDPW)' except ldap.LDAPError as e: 'log.info('\''Desc' \' + 'e.message['\''desc'\''])' assert False file_path = 'os.path.join(topology.standalone.prefix,' ''\''var/log/dirsrv/slapd-%s/access'\''' % 'topology.standalone.serverid)' '>' file_obj = 'open(file_path,' '"r")' E IOError: '[Errno' '2]' No such file or directory: ''\''/usr/var/log/dirsrv/slapd-standalone/access'\''' tickets/ticket1347760_test.py:236: IOError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket1347760_test:Testing Bug 1347760 - Information disclosure via repeated use of LDAP ADD operation, etc. INFO:tickets.ticket1347760_test:Disabling accesslog logbuffering INFO:tickets.ticket1347760_test:Bind as '{cn=Directory' 'Manager,password}' INFO:tickets.ticket1347760_test:Adding ou=BOU a bind user belongs to. INFO:tickets.ticket1347760_test:Adding a bind user. INFO:tickets.ticket1347760_test:Adding a test user. INFO:tickets.ticket1347760_test:Deleting aci in dc=example,dc=com. INFO:tickets.ticket1347760_test:Bind case 1. the bind user has no rights to read the entry itself, bind should be successful. INFO:tickets.ticket1347760_test:Bind as '{uid=buser123,ou=BOU,dc=example,dc=com,buser123}' who has no access rights. ______________________________ test_ticket47431_1 ______________________________ topology = '<tickets.ticket47431_test.TopologyStandalone' object at '0x7fe621965a90>' def 'test_ticket47431_1(topology):' ''\'''\'''\''' nsslapd-pluginarg0: uid nsslapd-pluginarg1: mail nsslapd-pluginarg2: userpassword '<==' repeat 27 times nsslapd-pluginarg3: , nsslapd-pluginarg4: dc=example,dc=com The duplicated values are removed by str2entry_dupcheck as follows: '[..]' - str2entry_dupcheck: 27 duplicate values for attribute type nsslapd-pluginarg2 detected in entry cn=7-bit check,cn=plugins,cn=config. Extra values ignored. ''\'''\'''\''' 'log.info("Ticket' 47431 - 1: Check
 26 duplicate values are treated as 'one...")' expected = '"str2entry_dupcheck' - . .. .cache duplicate values for attribute type nsslapd-pluginarg2 detected in entry cn=7-bit 'check,cn=plugins,cn=config."' 'log.debug('\''modify_s' '%s'\''' % 'DN_7BITPLUGIN)' try: 'topology.standalone.modify_s(DN_7BITPLUGIN,' '[(ldap.MOD_REPLACE,' ''\''nsslapd-pluginarg0'\'',' '"uid"),' '(ldap.MOD_REPLACE,' ''\''nsslapd-pluginarg1'\'',' '"mail"),' '(ldap.MOD_REPLACE,' ''\''nsslapd-pluginarg2'\'',' '"userpassword"),' '(ldap.MOD_REPLACE,' ''\''nsslapd-pluginarg3'\'',' '","),' '(ldap.MOD_REPLACE,' ''\''nsslapd-pluginarg4'\'',' 'SUFFIX)])' except ValueError: 'log.error('\''modify' failed: Some problem occured with a value that was 'provided'\'')' assert False arg2 = '"nsslapd-pluginarg2:' 'userpassword"' 'topology.standalone.stop(timeout=10)' dse_ldif = topology.standalone.confdir + ''\''/dse.ldif'\''' 'os.system('\''mv' %s '%s.47431'\''' % '(dse_ldif,' 'dse_ldif))' 'os.system('\''sed' -e '"s/\\(%s\\)/\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1/"' %s.47431 '>' '%s'\''' % '(arg2,' dse_ldif, 'dse_ldif))' 'topology.standalone.start(timeout=10)' cmdline = ''\''egrep' -i '"%s"' '%s'\''' % '(expected,' 'topology.standalone.errlog)' p = 'os.popen(cmdline,' '"r")' line = 'p.readline()' if line == '"":' 'log.error('\''Expected' error '"%s"' not logged in '%s'\''' % '(expected,' 'topology.standalone.errlog))' '>' assert False E assert False tickets/ticket47431_test.py:110: AssertionError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47431_test:Ticket 47431 - 1: Check 26 duplicate values are treated as one... DEBUG:tickets.ticket47431_test:modify_s cn=7-bit check,cn=plugins,cn=config grep: /var/log/dirsrv/slapd-standalone/error: No such file or directory ERROR:tickets.ticket47431_test:Expected error '"str2entry_dupcheck' - . .. .cache duplicate values for attribute type nsslapd
-pluginarg2 detected in entry cn=7-bit 'check,cn=plugins,cn=config."' not logged in /var/log/dirsrv/slapd-standalone/error _______________________________ test_ticket47462 _______________________________ topology = '<tickets.ticket47462_test.TopologyMaster1Master2' object at '0x7fe62173d390>' def 'test_ticket47462(topology):' '"""' Test that AES properly replaces DES during an update/restart, and that replication also works correctly. '"""' '#' '#' First set config as if 'it'\''s' an older version. Set DES to use '#' libdes-plugin, MMR to depend on DES, delete the existing AES plugin, '#' and set a DES password for the replication agreement. '#' '#' Add an extra attribute to the DES plugin args '#' try: 'topology.master1.modify_s(DES_PLUGIN,' '[(ldap.MOD_REPLACE,' ''\''nsslapd-pluginEnabled'\'',' ''\''on'\'')])' except ldap.LDAPError as e: 'log.fatal('\''Failed' to enable DES plugin, error: \' + 'e.message['\''desc'\''])' assert False try: 'topology.master1.modify_s(DES_PLUGIN,' '[(ldap.MOD_ADD,' ''\''nsslapd-pluginarg2'\'',' ''\''description'\'')])' except ldap.LDAPError as e: 'log.fatal('\''Failed' to reset DES plugin, error: \' + 'e.message['\''desc'\''])' assert False try: 'topology.master1.modify_s(MMR_PLUGIN,' '[(ldap.MOD_DELETE,' ''\''nsslapd-plugin-depends-on-named'\'',' ''\''AES'\'')])' except ldap.NO_SUCH_ATTRIBUTE: pass except ldap.LDAPError as e: 'log.fatal('\''Failed' to reset MMR plugin, error: \' + 'e.message['\''desc'\''])' assert False '#' '#' Delete the AES plugin '#' try: 'topology.master1.delete_s(AES_PLUGIN)' except ldap.NO_SUCH_OBJECT: pass except ldap.LDAPError as e: 'log.fatal('\''Failed' to delete AES plugin, error: \' + 'e.message['\''desc'\''])' assert False '#' restart the server so we must use DES plugin 'topology.master1.restart(timeout=10)' '#' '#' Get the agmt dn, and set the password '#' try: entry = 'topology.master1.search_s('\''cn=config'\'',' ldap.SCOPE_SUBTREE, ''\''objectclass=nsDS5ReplicationAgreement'\'')' if entry: agmt_dn = 'entry[0].dn' 'log.info('\''Found' agmt dn '(%s
)'\''' % 'agmt_dn)' else: 'log.fatal('\''No' replication 'agreements!'\'')' assert False except ldap.LDAPError as e: 'log.fatal('\''Failed' to search for replica credentials: \' + 'e.message['\''desc'\''])' assert False try: properties = '{RA_BINDPW:' '"password"}' 'topology.master1.agreement.setProperties(None,' agmt_dn, None, 'properties)' 'log.info('\''Successfully' modified replication 'agreement'\'')' except ValueError: 'log.error('\''Failed' to update replica agreement: \' + 'AGMT_DN)' assert False '#' '#' Check replication works with the new DES password '#' try: 'topology.master1.add_s(Entry((USER1_DN,' '{'\''objectclass'\'':' '"top' 'person".split(),' ''\''sn'\'':' ''\''sn'\'',' ''\''description'\'':' ''\''DES' value to 'convert'\'',' ''\''cn'\'':' ''\''test_user'\''})))' loop = 0 ent = None while loop '<=' 10: try: ent = 'topology.master2.getEntry(USER1_DN,' ldap.SCOPE_BASE, '"(objectclass=*)")' break except ldap.NO_SUCH_OBJECT: 'time.sleep(1)' loop += 1 if not ent: 'log.fatal('\''Replication' test failed fo 'user1!'\'')' assert False else: 'log.info('\''Replication' test 'passed'\'')' except ldap.LDAPError as e: 'log.fatal('\''Failed' to add test user: \' + 'e.message['\''desc'\''])' assert False '#' '#' Add a backend '(that' has no 'entries)' '#' try: 'topology.master1.backend.create("o=empty",' '{BACKEND_NAME:' '"empty"})' except ldap.LDAPError as e: 'log.fatal('\''Failed' to create extra/empty backend: \' + 'e.message['\''desc'\''])' assert False '#' '#' Run the upgrade... '#' '>' 'topology.master1.upgrade('\''online'\'')' tickets/ticket47462_test.py:269: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:2500: in upgrade 'DirSrvTools.runUpgrade(self.prefix,' 'online)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ prefix = ''\''/usr'\'',' online = True @staticmethod def 'runUpgrade(prefix,' 'online=True):' ''\'''\'''\''' Run '"setup-ds.pl' '--update"' We simply pass in one DirSrv isntance, and this will
 update all the instances that are in this prefix. For the update to work we must fix/adjust the permissions of the scripts in: '/prefix/lib[64]/dirsrv/slapd-INSTANCE/' ''\'''\'''\''' if not prefix: prefix = ''\'''\''' '#' This is an RPM run - check if /lib exists, if not use /lib64 if 'os.path.isdir('\''/usr/lib/dirsrv'\''):' libdir = ''\''/usr/lib/dirsrv/'\''' else: if 'os.path.isdir('\''/usr/lib64/dirsrv'\''):' libdir = ''\''/usr/lib64/dirsrv/'\''' else: 'log.fatal('\''runUpgrade:' failed to find slapd lib 'dir!'\'')' assert False else: '#' Standard prefix lib location if 'os.path.isdir('\''/usr/lib64/dirsrv'\''):' libdir = ''\''/usr/lib64/dirsrv/'\''' else: libdir = ''\''/lib/dirsrv/'\''' '#' Gather all the instances so we can adjust the permissions, otherwise servers = '[]' path = prefix + ''\''/etc/dirsrv'\''' '>' for files in 'os.listdir(path):' E OSError: '[Errno' '2]' No such file or directory: ''\''/usr/etc/dirsrv'\''' ../../../lib389/lib389/tools.py:932: OSError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists '('\''Update' succeeded: status ''\'',' ''\''0' Total update 'succeeded'\'')' ---------------------------- Captured stderr setup ----------------------------- INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: '{SSHA512}yBU1El8P16znY+UM18WcXejQHrTBIbjWMGsyRyuwvwwRqiwbcfWGfOcByDr3iUHrvROlXe+PvFuQpcaS8xXw5wa9b+pGBle4' INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: '{SSHA512}9z92i0bM/5UAEFAgJWA3dPfm7WWVpHog0zpBBmE9jSMe3yUz5ERHjyNUiKdyzFgii6bzDbuGd54KNlz4nQdrCV/P0bm84Q1Q' 'DEBUG:tickets.ticket47462_test:cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2
Cdc\3Dcom,cn=mapping' tree,cn=config created INFO:lib389:Starting total init 'cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping' tree,cn=config INFO:tickets.ticket47462_test:Replication is working. ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47462_test:Found agmt dn '(cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping' 'tree,cn=config)' INFO:tickets.ticket47462_test:Successfully modified replication agreement INFO:tickets.ticket47462_test:Replication test passed INFO:lib389:List backend with suffix=o=empty INFO:lib389:Creating a local backend INFO:lib389:List backend cn=empty,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=empty,cn=ldbm database,cn=plugins,cn=config cn: empty nsslapd-cachememsize: 10485760 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-master_1/db/empty nsslapd-dncachememsize: 10485760 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=empty objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance _______________________________ test_ticket47536 _______________________________ topology = '<tickets.ticket47536_test.TopologyReplication' object at '0x7fe621958ed0>' def 'test_ticket47536(topology):' '"""' Set up 2way MMR: master_1 ----- startTLS '----->' master_2 master_1 '<--' TLS_clientAuth -- master_2 Check CA cert, Server-Cert and Key are retrieved as PEM from cert db when the server is started. First, the file names are not specified and the default names derived from the cert nicknames. Next, the file names are specified in the encryption config entries. Each time add 5 entries to master 1 and 2 and check they are replicated. '"""' 'log.info("Ticket' 47536 - Allow usage of OpenLDAP libraries that 'don'\''t' use NSS for 'crypto")' 'create_keys_certs(topology)' 'config_tls_agreements(topology)' 'add_entry(topology.master1,' ''\''master1'\'',' ''\''uid=m1user'\'',' 0, '5)' 'add_entry(topology.master2,' ''\''master2'\'',' ''\''uid=m2u
ser'\'',' 0, '5)' 'time.sleep(1)' 'log.info('\''#####' Searching for entries on 'master1...'\'')' entries = 'topology.master1.search_s(DEFAULT_SUFFIX,' ldap.SCOPE_SUBTREE, ''\''(uid=*)'\'')' assert 10 == 'len(entries)' 'log.info('\''#####' Searching for entries on 'master2...'\'')' entries = 'topology.master2.search_s(DEFAULT_SUFFIX,' ldap.SCOPE_SUBTREE, ''\''(uid=*)'\'')' '>' assert 10 == 'len(entries)' E assert 10 == 5 E + where 5 = 'len([dn:' 'uid=m2user0,dc=example,dc=com\ncn:' master2 'user0\nobjectClass:' 'top\nobjectClass:' 'person\nobjectClass:' extensibleObjec...er2 'user4\nobjectClass:' 'top\nobjectClass:' 'person\nobjectClass:' 'extensibleObject\nsn:' 'user4\nuid:' 'uid=m2user4\nuid:' 'm2user4\n\n])' tickets/ticket47536_test.py:494: AssertionError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists '('\''Update' succeeded: status ''\'',' ''\''0' Total update 'succeeded'\'')' ---------------------------- Captured stderr setup ----------------------------- INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: '{SSHA512}B36hxtXWscu65K2K8aTbIXNZBk6czeyj64cskO0JNiiVndf0TjcmMGhLAi2ZEzwpYgezf1h1dRsiZao4Z4+0cX7vNuIjO5eB' INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: '{SSHA512}+ETPh9zgAIdTrX8h2UgfoAB/6/yUyZA+dpogyvnAOGe9h1HuWnNOcVS490lfVHK5M8epHYNwvoDMvJ31/p3iXHdbghK8oUQa' 'DEBUG:tickets.ticket47536_test:cn=meTo_localhost.localdomain:38942,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping' tree,cn=config created 'DEBUG:tickets.ticket47536_test:cn=meTo_localhost.localdomain:38941,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping' tree,cn=config created INFO:lib389:Start
ing total init 'cn=meTo_localhost.localdomain:38942,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping' tree,cn=config INFO:tickets.ticket47536_test:Replication is working. ----------------------------- Captured stdout call ----------------------------- Is this a CA certificate '[y/N]?' Enter the path length constraint, enter to skip '[<0' for unlimited 'path]:' '>' Is this a critical extension '[y/N]?' pk12util: PKCS12 EXPORT SUCCESSFUL pk12util: PKCS12 IMPORT SUCCESSFUL ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47536_test:Ticket 47536 - Allow usage of OpenLDAP libraries that 'don'\''t' use NSS for crypto INFO:tickets.ticket47536_test: '#########################' Creating SSL Keys and Certs '######################' INFO:tickets.ticket47536_test:##### shutdown master1 INFO:tickets.ticket47536_test:##### Creating a password file INFO:tickets.ticket47536_test:##### create the pin file INFO:tickets.ticket47536_test:##### Creating a noise file INFO:tickets.ticket47536_test:##### Create key3.db and cert8.db database '(master1):' '['\''certutil'\'',' ''\''-N'\'',' ''\''-d'\'',' ''\''/etc/dirsrv/slapd-master_1'\'',' ''\''-f'\'',' ''\''/etc/dirsrv/slapd-master_1/pwdfile.txt'\'']' INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### Creating encryption key for CA '(master1):' '['\''certutil'\'',' ''\''-G'\'',' ''\''-d'\'',' ''\''/etc/dirsrv/slapd-master_1'\'',' ''\''-z'\'',' ''\''/etc/dirsrv/slapd-master_1/noise.txt'\'',' ''\''-f'\'',' ''\''/etc/dirsrv/slapd-master_1/pwdfile.txt'\'']' INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### Creating self-signed CA certificate '(master1)' -- nickname CAcertificate Generating key. This may take a few moments... INFO:tickets.ticket47536_test:##### Creating Server certificate -- nickname Server-Cert1: '['\''certutil'\'',' ''\''-S'\'',' ''\''-n'\'',' ''\''Server-Cert1'\'',' ''\''-s'\'',' ''\''CN=localhost.localdomain,
OU=389' Directory 'Server'\'',' ''\''-c'\'',' ''\''CAcertificate'\'',' ''\''-t'\'',' ''\'',,'\'',' ''\''-m'\'',' ''\''1001'\'',' ''\''-v'\'',' ''\''120'\'',' ''\''-d'\'',' ''\''/etc/dirsrv/slapd-master_1'\'',' ''\''-z'\'',' ''\''/etc/dirsrv/slapd-master_1/noise.txt'\'',' ''\''-f'\'',' ''\''/etc/dirsrv/slapd-master_1/pwdfile.txt'\'']' INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### Creating Server certificate -- nickname Server-Cert2: '['\''certutil'\'',' ''\''-S'\'',' ''\''-n'\'',' ''\''Server-Cert2'\'',' ''\''-s'\'',' ''\''CN=localhost.localdomain,OU=390' Directory 'Server'\'',' ''\''-c'\'',' ''\''CAcertificate'\'',' ''\''-t'\'',' ''\'',,'\'',' ''\''-m'\'',' ''\''1002'\'',' ''\''-v'\'',' ''\''120'\'',' ''\''-d'\'',' ''\''/etc/dirsrv/slapd-master_1'\'',' ''\''-z'\'',' ''\''/etc/dirsrv/slapd-master_1/noise.txt'\'',' ''\''-f'\'',' ''\''/etc/dirsrv/slapd-master_1/pwdfile.txt'\'']' INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### start master1 INFO:tickets.ticket47536_test:##### enable SSL in master1 with all ciphers INFO:tickets.ticket47536_test: '#########################' Enabling SSL LDAPSPORT 41636 '######################' INFO:tickets.ticket47536_test:##### Check the cert db: '['\''certutil'\'',' ''\''-L'\'',' ''\''-d'\'',' ''\''/etc/dirsrv/slapd-master_1'\'']' INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: INFO:tickets.ticket47536_test: Certificate Nickname Trust Attributes INFO:tickets.ticket47536_test: SSL,S/MIME,JAR/XPI INFO:tickets.ticket47536_test: INFO:tickets.ticket47536_test: CAcertificate CTu,u,u INFO:tickets.ticket47536_test: Server-Cert2 u,u,u INFO:tickets.ticket47536_test: Server-Cert1 u,u,u INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### restart master1 INFO:tickets.ticket47536_test:##### Check PEM files of master1 '(before' setting nsslapd-extract-pemfiles INFO:tickets.ticket47536_test: '#########################' Check PEM files '(CAce
rtificate,' Server-Cert1, 'Server-Cert1-Key)' not in /etc/dirsrv/slapd-master_1 '######################' INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/CAcertificate.pem is correctly not generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/Server-Cert1.pem is correctly not generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/Server-Cert1-Key.pem is correctly not generated. INFO:tickets.ticket47536_test:##### Set on to nsslapd-extract-pemfiles INFO:tickets.ticket47536_test:##### restart master1 INFO:tickets.ticket47536_test:##### Check PEM files of master1 '(after' setting nsslapd-extract-pemfiles INFO:tickets.ticket47536_test: '#########################' Check PEM files '(CAcertificate,' Server-Cert1, 'Server-Cert1-Key)' in /etc/dirsrv/slapd-master_1 '######################' INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/CAcertificate.pem is successfully generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/Server-Cert1.pem is successfully generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/Server-Cert1-Key.pem is successfully generated. INFO:tickets.ticket47536_test:##### Extract PK12 file for master2: pk12util -o /tmp/Server-Cert2.pk12 -n '"Server-Cert2"' -d /etc/dirsrv/slapd-master_1 -w /etc/dirsrv/slapd-master_1/pwdfile.txt -k /etc/dirsrv/slapd-master_1/pwdfile.txt INFO:tickets.ticket47536_test:##### Check PK12 files INFO:tickets.ticket47536_test:/tmp/Server-Cert2.pk12 is successfully extracted. INFO:tickets.ticket47536_test:##### stop master2 INFO:tickets.ticket47536_test:##### Initialize Cert DB for master2 INFO:tickets.ticket47536_test:##### Create key3.db and cert8.db database '(master2):' '['\''certutil'\'',' ''\''-N'\'',' ''\''-d'\'',' ''\''/etc/dirsrv/slapd-master_2'\'',' ''\''-f'\'',' ''\''/etc/dirsrv/slapd-master_1/pwdfile.txt'\'']' INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### Import certs to master2 INFO:tickets.ticket47536_test:Importing CAcertificate INFO:t
ickets.ticket47536_test:##### Importing Server-Cert2 to master2: pk12util -i /tmp/Server-Cert2.pk12 -n '"Server-Cert2"' -d /etc/dirsrv/slapd-master_2 -w /etc/dirsrv/slapd-master_1/pwdfile.txt -k /etc/dirsrv/slapd-master_1/pwdfile.txt INFO:tickets.ticket47536_test:copy /etc/dirsrv/slapd-master_1/pin.txt to /etc/dirsrv/slapd-master_2/pin.txt INFO:tickets.ticket47536_test:##### start master2 INFO:tickets.ticket47536_test:##### enable SSL in master2 with all ciphers INFO:tickets.ticket47536_test: '#########################' Enabling SSL LDAPSPORT 42636 '######################' INFO:tickets.ticket47536_test:##### restart master2 INFO:tickets.ticket47536_test:##### Check PEM files of master2 '(before' setting nsslapd-extract-pemfiles INFO:tickets.ticket47536_test: '#########################' Check PEM files '(CAcertificate,' Server-Cert2, 'Server-Cert2-Key)' not in /etc/dirsrv/slapd-master_2 '######################' INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/CAcertificate.pem is correctly not generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/Server-Cert2.pem is correctly not generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/Server-Cert2-Key.pem is correctly not generated. INFO:tickets.ticket47536_test:##### Set on to nsslapd-extract-pemfiles INFO:tickets.ticket47536_test:##### restart master2 INFO:tickets.ticket47536_test:##### Check PEM files of master2 '(after' setting nsslapd-extract-pemfiles INFO:tickets.ticket47536_test: '#########################' Check PEM files '(CAcertificate,' Server-Cert2, 'Server-Cert2-Key)' in /etc/dirsrv/slapd-master_2 '######################' INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/CAcertificate.pem is successfully generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/Server-Cert2.pem is successfully generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/Server-Cert2-Key.pem is successfully generated. INFO:tickets.ticket47536_test:##### restart master1 INFO:tickets.ticket47536_test: '###########
##############' Creating SSL Keys and Certs Done '######################' INFO:tickets.ticket47536_test:######################### Configure SSL/TLS agreements '######################' INFO:tickets.ticket47536_test:######################## master1 -- startTLS '->' master2 '#####################' INFO:tickets.ticket47536_test:##################### master1 '<-' tls_clientAuth -- master2 '##################' INFO:tickets.ticket47536_test:##### Update the agreement of master1 INFO:tickets.ticket47536_test:##### Add the cert to the repl manager on master1 INFO:tickets.ticket47536_test:##### master2 Server Cert in base64 format: MIICyjCCAbKgAwIBAgICA+owDQYJKoZIhvcNAQELBQAwETEPMA0GA1UEAxMGQ0FjZXJ0MB4XDTE2MTEwMTIzMzYxNVoXDTI2MTEwMTIzMzYxNVowPzEdMBsGA1UECxMUMzkwIERpcmVjdG9yeSBTZXJ2ZXIxHjAcBgNVBAMTFWxvY2FsaG9zdC5sb2NhbGRvbWFpbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANCDDiOLtF84h40SCAsAJgg6CtOTECdmYXcMLI4i7hM6j5bj2k8g02XXrZmsVkFkD+ciX1xqKUm5rrRwFJZmtJpEPxtUSzFmEOwOD75KEHKYh/jata93H6hWvTDhn6I3WLzt3aNELecB0xX/m0l+dUiZGF9MzN5udzaeJ/IozTWxpWU2wz7rPhJ805UOBdFJfXACHu6sw1TDa9hqQDiYTPZQii1ipTDsOxVQTdS40i6rxxjKsm088A3ZvQySBJxM//LgDt89ELclr7oyVC+scM5RfRbdfcevXzn/yJGnNp/9sYN2p6V97ba/NoxFspG68W6pU4J6m2iX4ocS0GBHF+0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAdibqGxJQ6BrySx+JE4eoT8Ev2wqs1XXnqSmol+TFtyBY2Yh6QOrqHtU69/oFPxx4xu7vByMMKgrPC8XVTXpntJ2VH4clNg1oAwA1Oc42kqyHZj3DQCpWQZXz2kTQm8mcNAWSf/FvVLEx3DuIBjQ3gyKYi01HLxMXNk16MpZ8isRzzoI1XqwmwmbExpPLcsAVN4Lge6e9g+vBkISjFosItoK7CCtX88cOqm98mkUU0o6pBWewLuYGcZime/vMyH2GPiaNUzvHaCJIYiGEGVVgsKlwjb1uA1cu9dIUSKkYkIViZYVzdDO26OX7rnU2Vsw3QJdrHpgcmrDE/mIbi+0WZA== INFO:tickets.ticket47536_test:##### Replication manager on master1: cn=replrepl,cn=config INFO:tickets.ticket47536_test: ObjectClass: INFO:tickets.ticket47536_test: : top INFO:tickets.ticket47536_test: : person INFO:tickets.ticket47536_test:##### Modify the certmap.conf on master1 INFO:tickets.ticket47536_test:##### Update the agreement of master2 INFO:tickets.ticket47536_test: '#########################' Configure SSL/TLS agreements Done '#############
#########' INFO:tickets.ticket47536_test: '#########################' Adding 5 entries to master1 '######################' INFO:tickets.ticket47536_test: '#########################' Adding 5 entries to master2 '######################' INFO:tickets.ticket47536_test:##### Searching for entries on master1... INFO:tickets.ticket47536_test:##### Searching for entries on master2... ____________________________ test_ticket47619_init _____________________________ topology = 'Master[localhost.localdomain:38941]' '->' 'Consumer[localhost.localdomain:38961' def 'test_ticket47619_init(topology):' '"""' Initialize the test environment '"""' 'topology.master.plugins.enable(name=PLUGIN_RETRO_CHANGELOG)' '#topology.master.plugins.enable(name=PLUGIN_MEMBER_OF)' '#topology.master.plugins.enable(name=PLUGIN_REFER_INTEGRITY)' 'topology.master.stop(timeout=10)' 'topology.master.start(timeout=10)' 'topology.master.log.info("test_ticket47619_init' topology '%r"' % '(topology))' '#' the test case will check if a warning message is logged in the '#' error log of the supplier '>' topology.master.errorlog_file = 'open(topology.master.errlog,' '"r")' E IOError: '[Errno' '2]' No such file or directory: ''\''/var/log/dirsrv/slapd-master_1/error'\''' tickets/ticket47619_test.py:141: IOError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists '('\''Update' succeeded: status ''\'',' ''\''0' Total update 'succeeded'\'')' ---------------------------- Captured stderr setup ----------------------------- INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: '{SSHA512}CbdaFs5yJGG2lLFVeLY6ziH7GojjmOqaQDUp1YTAmgbd9KUJGHYgPx0DlajHHkSd5w9JiyX9G5PTYRe/riZZl3b4CELc6MdN' INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bin
d dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: '{SSHA512}rTkopdHr3mh+2tXyC6nrW+oSEEhxk9oIckagk7+Q0LpUtPg/1Ravihzh339ufAnSsk5f1w75kt/SDHCQDEU+8H8fyF9QDqDA' 'DEBUG:tickets.ticket47619_test:cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping' tree,cn=config created INFO:lib389:Starting total init 'cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping' tree,cn=config INFO:tickets.ticket47619_test:Replication is working. ----------------------------- Captured stderr call ----------------------------- INFO:lib389:test_ticket47619_init topology 'Master[localhost.localdomain:38941]' '->' 'Consumer[localhost.localdomain:38961' ____________________________ test_ticket47669_init _____________________________ topology = '<tickets.ticket47669_test.TopologyStandalone' object at '0x7fe62201cc90>' def 'test_ticket47669_init(topology):' '"""' Add cn=changelog5,cn=config Enable cn=Retro Changelog Plugin,cn=plugins,cn=config '"""' 'log.info('\''Testing' Ticket 47669 - Test duration syntax in the 'changelogs'\'')' '#' bind as directory manager 'topology.standalone.log.info("Bind' as '%s"' % 'DN_DM)' 'topology.standalone.simple_bind_s(DN_DM,' 'PASSWORD)' try: changelogdir = '"%s/changelog"' % topology.standalone.dbdir 'topology.standalone.add_s(Entry((CHANGELOG,' '{'\''objectclass'\'':' ''\''top' 'extensibleObject'\''.split(),' ''\''nsslapd-changelogdir'\'':' 'changelogdir})))' except ldap.LDAPError as e: 'log.error('\''Failed' to add \' + CHANGELOG + ''\'':' error \' + 'e.message['\''desc'\''])' assert False try: 'topology.standalone.modify_s(RETROCHANGELOG,' '[(ldap.MOD_REPLACE,' ''\''nsslapd-pluginEnabled'\'',' ''\''on'\'')])' except ldap.LDAPError as e: 'log.error('\''Failed' to enable \' + RETROCHANGELOG + ''\'':' error \' + 'e.message['\''desc'\''])' assert False '#' restart the server '>' 'topology.standalone.restart(timeout=10)' tickets/ticket47669_test.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
 _ ../../../lib389/lib389/__init__.py:1215: in restart 'self.start(timeout)' ../../../lib389/lib389/__init__.py:1096: in start '"dirsrv@%s"' % 'self.serverid])' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = '(['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\''],),' kwargs = '{}' retcode = 1, cmd = '['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\'']' 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 Popen constructor. 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 CalledProcessError: Command ''\''['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\'']'\''' returned non-zero exit status 1 /usr/lib64/python2.7/subprocess.py:541: CalledProcessError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47669_test:Testing Ticket 47669 - Test duration syntax in the changelogs INFO:lib389:Bind as cn=Directory Manager Job for dirsrv@standalone.service failed because the control process exited with error code. See '"systemctl' status 'dirsrv@standalone.service"' and '"journalctl' '-xe"' for details. ______________________ test_ticket47669_changelog_maxage _______________________ topology = '<tickets.ticket47669_test.TopologyStandalone' object at '0x7fe62201cc90>' def 'test_ticket47669_changelog_maxage(topology):' '"""' Test nsslapd-changelogmaxage in cn=changelog5,cn=config '"""' 'log.info('\''1.' Test nsslapd-changelogmaxage in 'cn=chan
gelog5,cn=config'\'')' '#' bind as directory manager 'topology.standalone.log.info("Bind' as '%s"' % 'DN_DM)' '>' 'topology.standalone.simple_bind_s(DN_DM,' 'PASSWORD)' tickets/ticket47669_test.py:159: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:223: in simple_bind_s resp_type, resp_data, resp_msgid, resp_ctrls = 'self.result3(msgid,all=1,timeout=self.timeout)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:514: in result3 resp_ctrl_classes=resp_ctrl_classes ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:521: in result4 ldap_result = 'self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe6216e2830>' func = '<built-in' method result4 of LDAP object at '0x7fe622374eb8>' args = '(13,' 1, -1, 0, 0, '0),' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'serve
r"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47669_test:1. Test nsslapd-changelogmaxage in cn=changelog5,cn=config INFO:lib389:Bind as cn=Directory Manager ___________________ test_ticket47669_changelog_triminterval ____________________ topology = '<tickets.ticket47669_test.TopologyStandalone' object at '0x7fe62201cc90>' def 'test_ticket47669_changelog_triminterval(topology):' '"""' Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config '"""' 'log.info('\''2.' Test nsslapd-changelogtrim-interval in 'cn=changelog5,cn=config'\'')' '#' bind as directory manager 'topology.standalone.log.info("Bind' as '%s"' % 'DN_DM)' '>' 'topology.standalone.simple_bind_s(DN_DM,' 'PASSWORD)' tickets/ticket47669_test.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:222: in simple_bind_s msgid = 'self.simple_bind(who,cred,serverctrls,clientctrls)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:216: in simple_bind return 'self._ldap_call(self._l.simple_bind,who,cred,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe6216e2830>' func = '<built-in' method simple_bind of LDAP object at '0x7fe622374eb8>' args = '('\''cn=Directory' 'Manager'\'',' ''\''password'\'',' None, 'None),' kwargs = '{}' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47669_test:2. Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config INFO:lib389:Bind as cn=Directory Manager _________________ test_ticket47669_changelog_compactdbinterval _________________ topology = '<tickets.ticket47669_test.TopologyStandalone' object at '0x7fe62201cc90>' def 'test_ticket47669_changelog_compactdbinterval(topology):' '"""' Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config '"""' 'log.info('\''3.' Test nsslapd-changelogcompactdb-interval in 'cn=changelog5,cn=config'\'')' '#' bind as directory manager 'topology.standalone.log.info("Bind' as '%s"' % 'DN_DM)' '>' 'topology.standalone.simple_bind_s(DN_DM,' 'PASSWORD)' tickets/ticket47669_test.py:199: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:222: in simple_bind_s msgid = 'self.simple_bind(who,cred,serverctrls,clientctrls)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:216: in simple_bind return 'self._ldap_call(self._l.simple_bind,who,cred,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe6216e2830>' func = '<built-in' method simple_bind of LDAP object at '0x7fe622374eb8>' args = '('\''cn=Directory' 'Manager'\'',' ''\''password'\'',' None, 'None),' kwargs = '{}' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47669_test:3. Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config INFO:lib389:Bind as cn=Directory Manager ____________________ test_ticket47669_retrochangelog_maxage ____________________ topology = '<tickets.ticket47669_test.TopologyStandalone' object at '0x7fe62201cc90>' def 'test_ticket47669_retrochangelog_maxage(topology):' '"""' Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config '"""' 'log.info('\''4.' Test nsslapd-changelogmaxage in cn=Retro Changelog 'Plugin,cn=plugins,cn=config'\'')' '#' bind as directory manager 'topology.standalone.log.info("Bind' as '%s"' % 'DN_DM)' '>' 'topology.standalone.simple_bind_s(DN_DM,' 'PASSWORD)' tickets/ticket47669_test.py:219: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:159: in inner r
eturn 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:222: in simple_bind_s msgid = 'self.simple_bind(who,cred,serverctrls,clientctrls)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:216: in simple_bind return 'self._ldap_call(self._l.simple_bind,who,cred,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe6216e2830>' func = '<built-in' method simple_bind of LDAP object at '0x7fe622374eb8>' args = '('\''cn=Directory' 'Manager'\'',' ''\''password'\'',' None, 'None),' kwargs = '{}' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47669_test:4. Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config INFO:lib389:Bind as cn=Directory Manager ____________________________ test_ticket47823_init _____________________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 't
est_ticket47823_init(topology):' '"""' '"""' '#' Enabled the plugins 'topology.standalone.plugins.enable(name=PLUGIN_ATTR_UNIQUENESS)' 'topology.standalone.restart(timeout=120)' 'topology.standalone.add_s(Entry((PROVISIONING_DN,' '{'\''objectclass'\'':' '"top' 'nscontainer".split(),' ''\''cn'\'':' 'PROVISIONING_CN})))' 'topology.standalone.add_s(Entry((ACTIVE_DN,' '{'\''objectclass'\'':' '"top' 'nscontainer".split(),' ''\''cn'\'':' 'ACTIVE_CN})))' 'topology.standalone.add_s(Entry((STAGE_DN,' '{'\''objectclass'\'':' '"top' 'nscontainer".split(),' ''\''cn'\'':' 'STAGE_CN})))' 'topology.standalone.add_s(Entry((DELETE_DN,' '{'\''objectclass'\'':' '"top' 'nscontainer".split(),' ''\''cn'\'':' 'DELETE_CN})))' '>' topology.standalone.errorlog_file = 'open(topology.standalone.errlog,' '"r")' E IOError: '[Errno' '2]' No such file or directory: ''\''/var/log/dirsrv/slapd-standalone/error'\''' tickets/ticket47823_test.py:477: IOError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ______________________ test_ticket47823_one_container_add ______________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_one_container_add(topology):' ''\'''\'''\''' Check uniqueness in a single container Add and entry with a given ''\''cn'\'',' then check we can not add an entry with the same ''\''cn'\''' value ''\'''\'''\''' '_header(topology,' '"With' former config '(args),' check attribute uniqueness with ''\''cn'\''' '(ADD)' '")' '_active_container_add(topology,' 'type_config='\''old'\'')' '_header(topology,' '"With' new config '(args),' check attribute uniqueness with ''\''cn'\''' '(ADD)' '")' '>' '_active_container_add(topology,' 'type_config='\''new'\'')' tickets/ticket47823_test.py:497: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:195: in _active_container_add 'topology.standalone.restart(timeout=120)' ../../../lib389/lib389/__init__.
py:1215: in restart 'self.start(timeout)' ../../../lib389/lib389/__init__.py:1096: in start '"dirsrv@%s"' % 'self.serverid])' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = '(['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\''],),' kwargs = '{}' retcode = 1, cmd = '['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\'']' 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 Popen constructor. 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 CalledProcessError: Command ''\''['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\'']'\''' returned non-zero exit status 1 /usr/lib64/python2.7/subprocess.py:541: CalledProcessError ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### With former config '(args),' check attribute uniqueness with ''\''cn'\''' '(ADD)' INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: create the entries INFO:lib389:Uniqueness enforced: checks second entry is rejected INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### With new config '(args),' check attribute uniqueness with ''\''cn'\''' '(ADD)' INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: create the entries INFO:lib389:Uniqueness enforced: checks second entry is rejected Job for dirsrv@standalone.service failed. See '"syste
mctl' status 'dirsrv@standalone.service"' and '"journalctl' '-xe"' for details. ______________________ test_ticket47823_one_container_mod ______________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_one_container_mod(topology):' ''\'''\'''\''' Check uniqueness in a single container Add and entry with a given ''\''cn'\'',' then check we can not modify an entry with the same ''\''cn'\''' value ''\'''\'''\''' '_header(topology,' '"With' former config '(args),' check attribute uniqueness with ''\''cn'\''' '(MOD)")' '>' '_active_container_mod(topology,' 'type_config='\''old'\'')' tickets/ticket47823_test.py:508: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:222: in _active_container_mod config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=None, type_config=type_config, 'across_subtrees=False)' tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1574: in getEntry restype, obj = 'self.result(res)' ../../../lib389/lib389/__init__.py:127: in inner objtype, data = 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:503: in result resp_type, resp_data, resp_msgid = 'self.result2(msgid,all,timeout)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:507: in result2 resp_type, resp_data, resp_msgid, resp_ctrls = 'self.result3(msgid,all,timeout)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:514: in result3 resp_ctrl_classes=resp_ctrl_classes ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:521: in re
sult4 ldap_result = 'self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method result4 of LDAP object at '0x7fe6223748a0>' args = '(7,' 1, -1, 0, 0, '0),' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### With former config '(args),' check attribute uniqueness with ''\''cn'\''' '(MOD)' INFO:lib389:####### INFO:lib389:############################################### ____________________ test_ticket47823_one_container_modrdn _____________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_one_container_modrdn(topology):' ''\'''\'''\''' Check uniqueness in a single container Add and entry with a given ''\''cn'\'',' then check we can not modrdn an entry with the same ''\''cn'\''' value ''\'''\'''\''' '_header(topology,' '"With' former co
nfig '(args),' check attribute uniqueness with ''\''cn'\''' '(MODRDN)")' '>' '_active_container_modrdn(topology,' 'type_config='\''old'\'')' tickets/ticket47823_test.py:523: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:264: in _active_container_modrdn config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=None, type_config=type_config, 'across_subtrees=False)' tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 'se
lf._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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### With former config '(args),' check attribute uniqueness with ''\''cn'\''' '(MODRDN)' INFO:lib389:####### INFO:lib389:############################################### ____________________ test_ticket47823_multi_containers_add _____________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_multi_containers_add(topology):' ''\'''\'''\''' Check uniqueness in a several containers Add and entry with a given ''\''cn'\'',' then check we can not add an entry with the same ''\''cn'\''' value ''\'''\'''\''' '_header(topology,' '"With' former config '(args),' check attribute uniqueness with ''\''cn'\''' '(ADD)' '")' '>' '_active_stage_containers_add(topology,' 'type_config='\''old'\'',' 'across_subtrees=False)' tickets/ticket47823_test.py:538: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:302: in _active_stage_containers_add config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, 'across_subtrees=False)' tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__in
it__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:
lib389:####### With former config '(args),' check attribute uniqueness with ''\''cn'\''' '(ADD)' INFO:lib389:####### INFO:lib389:############################################### ____________________ test_ticket47823_multi_containers_mod _____________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_multi_containers_mod(topology):' ''\'''\'''\''' Check uniqueness in a several containers Add an entry on a container with a given ''\''cn'\'',' then check we CAN mod an entry with the same ''\''cn'\''' value on the other container ''\'''\'''\''' '_header(topology,' '"With' former config '(args),' check attribute uniqueness with ''\''cn'\''' '(MOD)' on separated 'container")' 'topology.standalone.log.info('\''Uniqueness' not enforced: if same '\'\''cn\'\''' modified '(add/replace)' on separated 'containers'\'')' '>' '_active_stage_containers_mod(topology,' 'type_config='\''old'\'',' 'across_subtrees=False)' tickets/ticket47823_test.py:554: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:332: in _active_stage_containers_mod config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, 'across_subtrees=False)' tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in in
ner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### With former config '(args),' check attribute uniqueness with ''\''cn'\''' '(MOD)' on separated container INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: if same ''\''cn'\''' modified '(add/replace)' on separated containers ___________________ test_ticket47823_multi_containers_modrdn ___________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_multi_con
tainers_modrdn(topology):' ''\'''\'''\''' Check uniqueness in a several containers Add and entry with a given ''\''cn'\'',' then check we CAN modrdn an entry with the same ''\''cn'\''' value on the other container ''\'''\'''\''' '_header(topology,' '"With' former config '(args),' check attribute uniqueness with ''\''cn'\''' '(MODRDN)' on separated 'containers")' 'topology.standalone.log.info('\''Uniqueness' not enforced: checks MODRDN entry is accepted on separated 'containers'\'')' '>' '_active_stage_containers_modrdn(topology,' 'type_config='\''old'\'',' 'across_subtrees=False)' tickets/ticket47823_test.py:571: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:379: in _active_stage_containers_modrdn config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, 'across_subtrees=False)' tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''
\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### With former config '(args),' check attribute uniqueness with ''\''cn'\''' '(MODRDN)' on separated containers INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: checks MODRDN entry is accepted on separated containers _________________ test_ticket47823_across_multi_containers_add _________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_across_multi_containers_add(topology):' ''\'''\'''\''' Check uniqueness across several containers, uniquely with the new configuration Add and entry with a given ''\''cn'\'',' then check we can not add an entry with the same ''\''cn'\''' value ''\'''\'''\''' '_header(topology,' '"With' new config '(args),' check attribute uniqueness with ''\''cn'\''' '(ADD)' across several 'containers")' '>' '_active_stag
e_containers_add(topology,' 'type_config='\''old'\'',' 'across_subtrees=True)' tickets/ticket47823_test.py:585: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:302: in _active_stage_containers_add config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, 'across_subtrees=False)' tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### With new config '(args),' check attribute uniqueness with ''\''cn'\''' '(ADD)' across several containers INFO:lib389:####### INFO:lib389:############################################### _________________ test_ticket47823_across_multi_containers_mod _________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_across_multi_containers_mod(topology):' ''\'''\'''\''' Check uniqueness across several containers, uniquely with the new configuration Add and entry with a given ''\''cn'\'',' then check we can not modifiy an entry with the same ''\''cn'\''' value ''\'''\'''\''' '_header(topology,' '"With' new config '(args),' check attribute uniqueness with ''\''cn'\''' '(MOD)' across several 'containers")' '>' '_active_stage_containers_mod(topology,' 'type_config='\''old'\'',' 'across_subtrees=True)' tickets/ticket47823_test.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:332: in _active_stage_containers_mod config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, 'across_subtrees=False)' tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescripti
on'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '#####################################
##########' INFO:lib389:####### INFO:lib389:####### With new config '(args),' check attribute uniqueness with ''\''cn'\''' '(MOD)' across several containers INFO:lib389:####### INFO:lib389:############################################### _______________ test_ticket47823_across_multi_containers_modrdn ________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_across_multi_containers_modrdn(topology):' ''\'''\'''\''' Check uniqueness across several containers, uniquely with the new configuration Add and entry with a given ''\''cn'\'',' then check we can not modrdn an entry with the same ''\''cn'\''' value ''\'''\'''\''' '_header(topology,' '"With' new config '(args),' check attribute uniqueness with ''\''cn'\''' '(MODRDN)' across several 'containers")' '>' '_active_stage_containers_modrdn(topology,' 'type_config='\''old'\'',' 'across_subtrees=True)' tickets/ticket47823_test.py:607: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:379: in _active_stage_containers_modrdn config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, 'across_subtrees=False)' tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### With new config '(args),' check attribute uniqueness with ''\''cn'\''' '(MODRDN)' across several containers INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_1 _______________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_invalid_config_1(topology):' ''\'''\'''\''' Check that an invalid config is detected. No uniqueness enforced Using old config: arg0 is missing ''\'''\'''\''' '_heade
r(topology,' '"Invalid' config '(old):' arg0 is 'missing")' '_config_file(topology,' 'action='\''save'\'')' '#' create an invalid config without arg0 '>' config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=None, 'type_config='\''old'\'',' 'across_subtrees=False)' tickets/ticket47823_test.py:620: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### Invalid config '(old):' arg0 is missing INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_2 _______________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_invalid_config_2(topology):' ''\'''\'''\''' Check that an invalid config is detected. No uniqueness enforced Using old config: arg1 is missing ''\'''\'''\''' '_header(topology,' '"Invalid' config '(old):' arg1 is 'missing")' '_config_file(topology,' 'action='\''save'\'')' '#' create an invalid config without arg0 '>' config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=None, 'type_config='\''old'\'',' 'across_subtrees=False)' tickets/ticket47823_test.py:672: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,a
ttrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### Invalid config '(old):' arg1 is missing INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_3 _______________________ topology = '<tickets.ticket47823_test.Topol
ogyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_invalid_config_3(topology):' ''\'''\'''\''' Check that an invalid config is detected. No uniqueness enforced Using old config: arg0 is missing ''\'''\'''\''' '_header(topology,' '"Invalid' config '(old):' arg0 is missing but new config attrname 'exists")' '_config_file(topology,' 'action='\''save'\'')' '#' create an invalid config without arg0 '>' config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=None, 'type_config='\''old'\'',' 'across_subtrees=False)' tickets/ticket47823_test.py:723: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' 
contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### Invalid config '(old):' arg0 is missing but new config attrname exists INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_4 _______________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_invalid_config_4(topology):' ''\'''\'''\''' Check that an invalid config is detected. No uniqueness enforced Using old config: arg1 is missing ''\'''\'''\''' '_header(topology,' '"Invalid' config '(old):' arg1 is missing but new config 'exist")' '_config_file(topology,' 'action='\''save'\'')' '#' create an invalid config without arg0 '>' config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=None, 'type_config='\''old'\'',' 'across_subtrees=False)' tickets/ticket47823_test.py:776: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:124: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslap
d-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '####################
###########################' INFO:lib389:####### INFO:lib389:####### Invalid config '(old):' arg1 is missing but new config exist INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_5 _______________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_invalid_config_5(topology):' ''\'''\'''\''' Check that an invalid config is detected. No uniqueness enforced Using new config: uniqueness-attribute-name is missing ''\'''\'''\''' '_header(topology,' '"Invalid' config '(new):' uniqueness-attribute-name is 'missing")' '_config_file(topology,' 'action='\''save'\'')' '#' create an invalid config without arg0 '>' config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=None, 'type_config='\''new'\'',' 'across_subtrees=False)' tickets/ticket47823_test.py:828: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:131: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plug
ins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### Invalid config '(new):' uniqueness-attribute-name is missing INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_6 _______________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_invalid_config_6(topology):' ''\'''\'''\''' Check that an invalid config is detected. No uniqueness enforced Using new config: uniqueness-subtrees is missing ''\'''\'''\''' '_header(topology,' '"Invalid' config '(new):' uniqueness-subtrees is 'missing")' '_config_file(topology,' 'action='\''save'\'')' '#' create an invalid config without arg0 '>' config = '_build_config(topology,' 'attr_name='\''cn'\'',' subtree_1=ACTIVE_DN, subtree_2=None, 't
ype_config='\''new'\'',' 'across_subtrees=False)' tickets/ticket47823_test.py:879: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:131: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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._tra
ce_file)' diagnostic_message_success = None try: try: '>' result = 'func(*args,**kwargs)' E SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### Invalid config '(new):' uniqueness-subtrees is missing INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_7 _______________________ topology = '<tickets.ticket47823_test.TopologyStandalone' object at '0x7fe620fca1d0>' def 'test_ticket47823_invalid_config_7(topology):' ''\'''\'''\''' Check that an invalid config is detected. No uniqueness enforced Using new config: uniqueness-subtrees is missing ''\'''\'''\''' '_header(topology,' '"Invalid' config '(new):' uniqueness-subtrees are 'invalid")' '_config_file(topology,' 'action='\''save'\'')' '#' create an invalid config without arg0 '>' config = '_build_config(topology,' 'attr_name='\''cn'\'',' 'subtree_1="this_is' dummy 'DN",' 'subtree_2="an' other=dummy 'DN",' 'type_config='\''new'\'',' 'across_subtrees=False)' tickets/ticket47823_test.py:930: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:131: in _build_config config = '_uniqueness_config_entry(topology,' 'attr_name)' tickets/ticket47823_test.py:112: in _uniqueness_config_entry ''\''nsslapd-pluginDescription'\''])' ../../../lib389/lib389/__init__.py:1573: in getEntry res = 'self.search(*args,' '**kwargs)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None)' ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in sea
rch_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe62169a3b0>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223748a0>' args = '('\''cn=attribute' 'uniqueness,cn=plugins,cn=config'\'',' 0, ''\''(objectclass=nsSlapdPlugin)'\'',' '['\''objectClass'\'',' ''\''cn'\'',' ''\''nsslapd-pluginPath'\'',' ''\''nsslapd-pluginInitfunc'\'',' ''\''nsslapd-pluginType'\'',' ''\''nsslapd-pluginEnabled'\'',' '...],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: '###############################################' INFO:lib389:####### INFO:lib389:####### Invalid config '(new):' uniqueness-subtrees are invalid INFO:lib389:####### INFO:lib389:############################################### ____________________________ test_ticket47871_init _____________________________ topology = 'Master[localhost.localdomain:38941]' '->' 'Consumer[localhost.localdomain:38961' def 'test_ticket47871_init(topology):' '"""' Initialize the test environment '"""' 'topology.master.plugins.
enable(name=PLUGIN_RETRO_CHANGELOG)' mod = '[(ldap.MOD_REPLACE,' ''\''nsslapd-changelogmaxage'\'',' '"10s"),' '#' 10 second triming '(ldap.MOD_REPLACE,' ''\''nsslapd-changelog-trim-interval'\'',' '"5s")]' 'topology.master.modify_s("cn=%s,%s"' % '(PLUGIN_RETRO_CHANGELOG,' 'DN_PLUGIN),' 'mod)' '#topology.master.plugins.enable(name=PLUGIN_MEMBER_OF)' '#topology.master.plugins.enable(name=PLUGIN_REFER_INTEGRITY)' 'topology.master.stop(timeout=10)' 'topology.master.start(timeout=10)' 'topology.master.log.info("test_ticket47871_init' topology '%r"' % '(topology))' '#' the test case will check if a warning message is logged in the '#' error log of the supplier '>' topology.master.errorlog_file = 'open(topology.master.errlog,' '"r")' E IOError: '[Errno' '2]' No such file or directory: ''\''/var/log/dirsrv/slapd-master_1/error'\''' tickets/ticket47871_test.py:147: IOError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists '('\''Update' succeeded: status ''\'',' ''\''0' Total update 'succeeded'\'')' ---------------------------- Captured stderr setup ----------------------------- INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: '{SSHA512}JkDJarhHjPbPr3jOuwyjycSl2uBFE7Ylo6q5HuSZqfMKRXAwWtrrcmcD2wM4Sy0YMmJ0azhrHYwPTFQySOot+mtlKkmbvojl' INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: '{SSHA512}X3pqaur9Xfftua5Y0znElDOwPPPKDJ+i7E70irBbX1TWODPWqD3zDz2fFknPdphfhyYyudt0cl/3WxBuPjrCnhC9fKpO5mkN' 'DEBUG:tickets.ticket47871_test:cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping' tree,cn=config created INFO:lib389:Starting total init 'cn=meTo_$host:$port,cn=replica,cn=
dc\3Dexample\2Cdc\3Dcom,cn=mapping' tree,cn=config INFO:tickets.ticket47871_test:Replication is working. ----------------------------- Captured stderr call ----------------------------- INFO:lib389:test_ticket47871_init topology 'Master[localhost.localdomain:38941]' '->' 'Consumer[localhost.localdomain:38961' _________________________ test_ticket48005_automember __________________________ topology = '<tickets.ticket48005_test.TopologyStandalone' object at '0x7fe621634b50>' def 'test_ticket48005_automember(topology):' ''\'''\'''\''' Enable automember and referint plugin 1. Run automember rebuild membership task without waiting Shutdown the server Check if a core file was generated or not If no core was found, this test case was successful. 2. Run automember export updates task without waiting Shutdown the server Check if a core file was generated or not If no core was found, this test case was successful. 3. Run automember map updates task without waiting 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 automember 'test...")' 'topology.standalone.plugins.enable(name=PLUGIN_AUTOMEMBER)' 'topology.standalone.plugins.enable(name=PLUGIN_REFER_INTEGRITY)' '#' configure automember config entry 'log.info('\''Adding' automember 'config'\'')' try: 'topology.standalone.add_s(Entry(('\''cn=group' cfg,cn=Auto Membership 'Plugin,cn=plugins,cn=config'\'',' '{' ''\''objectclass'\'':' ''\''top' 'autoMemberDefinition'\''.split(),' ''\''autoMemberScope'\'':' ''\''dc=example,dc=com'\'',' ''\''autoMemberFilter'\'':' ''\''objectclass=inetorgperson'\'',' ''\''autoMemberDefaultGroup'\'':' ''\''cn=group0,dc=example,dc=com'\'',' ''\''autoMemberGroupingAttr'\'':' ''\''uniquemember:dn'\'',' ''\''cn'\'':' ''\''group' 'cfg'\''})))' except ValueError: 'log.error('\''Failed' to add automember 'config'\'')' assert False 'topology.standalone.restart(timeout=10)' try: '#' run the automember rebuild task 'topology.standalone.tasks.automemberReb
uild(suffix=SUFFIX,' 'args={TASK_WAIT:' 'False})' except ValueError: 'log.error('\''Automember' rebuild task 'failed.'\'')' assert False 'topology.standalone.stop(timeout=10)' mytmp = ''\''/tmp'\''' logdir = 're.sub('\''errors'\'',' ''\'''\'',' 'topology.standalone.errlog)' cmdline = ''\''ls' \' + logdir + ''\''core*'\''' p = 'os.popen(cmdline,' '"r")' lcore = 'p.readline()' if lcore '!=' '"":' 's.system('\''mv' '%score*' '%s/core.ticket48005_automember_rebuild'\''' % '(logdir,' 'mytmp))' 'log.error('\''Automember_rebuld:' Moved core 'file(s)' to '%s;' Test 'failed'\''' % 'mytmp)' assert False 'log.info('\''No' core files are 'found'\'')' 'topology.standalone.start(timeout=10)' ldif_out_file = mytmp + '"/ticket48005_automember_exported.ldif"' try: '#' run the automember export task 'topology.standalone.tasks.automemberExport(suffix=SUFFIX,' ldif_out=ldif_out_file, 'args={TASK_WAIT:' 'False})' except ValueError: 'log.error('\''Automember' Export task 'failed.'\'')' assert False 'topology.standalone.stop(timeout=10)' logdir = 're.sub('\''errors'\'',' ''\'''\'',' 'topology.standalone.errlog)' cmdline = ''\''ls' \' + logdir + ''\''core*'\''' p = 'os.popen(cmdline,' '"r")' lcore = 'p.readline()' if lcore '!=' '"":' 's.system('\''mv' '%score*' '%s/core.ticket48005_automember_export'\''' % '(logdir,' 'mytmp))' 'log.error('\''Automember_export:' Moved core 'file(s)' to '%s;' Test 'failed'\''' % 'mytmp)' assert False 'log.info('\''No' core files are 'found'\'')' 'topology.standalone.start(timeout=10)' ldif_in_file = 'topology.standalone.get_ldif_dir()' + '"/ticket48005.ldif"' ldif_out_file = mytmp + '"/ticket48005_automember_map.ldif"' try: '#' run the automember map task 'topology.standalone.tasks.automemberMap(ldif_in=ldif_in_file,' ldif_out=ldif_out_file, 'args={TASK_WAIT:' 'False})' except ValueError: 'log.error('\''Automember' Map task 'failed.'\'')' assert False 'topology.standalone.stop(timeout=10)' logdir = 're.sub('\''errors'\'',' ''\'''\'',' 'topology.standalone.errlog)' cmdline = ''\''ls' \' + logdir + ''\''cor
e*'\''' p = 'os.popen(cmdline,' '"r")' lcore = 'p.readline()' if lcore '!=' '"":' 's.system('\''mv' '%score*' '%s/core.ticket48005_automember_map'\''' % '(logdir,' 'mytmp))' 'log.error('\''Automember_map:' Moved core 'file(s)' to '%s;' Test 'failed'\''' % 'mytmp)' assert False 'log.info('\''No' core files are 'found'\'')' '>' 'topology.standalone.start(timeout=10)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48005_test.py>:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:1096: in start '"dirsrv@%s"' % 'self.serverid])' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = '(['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\''],),' kwargs = '{}' retcode = 1, cmd = '['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\'']' 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 Popen constructor. 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 CalledProcessError: Command ''\''['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\'']'\''' returned non-zero exit status 1 /usr/lib64/python2.7/subprocess.py:541: CalledProcessError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48005_test:Ticket 48005 automember test... INFO:tickets.ticket48005_test:Adding automember config INFO:lib389:Automember Rebuild Membership 'task(task-11022016_010350)' completed suc
cessfully ls: cannot access ''\''/var/log/dirsrv/slapd-standalone/errorcore*'\'':' No such file or directory INFO:tickets.ticket48005_test:No core files are found INFO:lib389:Automember Export Updates task '(task-11022016_010350)' completed successfully ls: cannot access ''\''/var/log/dirsrv/slapd-standalone/errorcore*'\'':' No such file or directory INFO:tickets.ticket48005_test:No core files are found INFO:lib389:Automember Map Updates task '(task-11022016_010351)' completed successfully ls: cannot access ''\''/var/log/dirsrv/slapd-standalone/errorcore*'\'':' No such file or directory INFO:tickets.ticket48005_test:No core files are found Job for dirsrv@standalone.service failed. See '"systemctl' status 'dirsrv@standalone.service"' and '"journalctl' '-xe"' for details. _______________________ test_ticket48005_syntaxvalidate ________________________ topology = '<tickets.ticket48005_test.TopologyStandalone' object at '0x7fe621634b50>' def 'test_ticket48005_syntaxvalidate(topology):' ''\'''\'''\''' Run syntax validate task without waiting 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 syntax validate 'test...")' try: '#' run the fixup task '>' 'topology.standalone.tasks.syntaxValidate(suffix=SUFFIX,' 'args={TASK_WAIT:' 'False})' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48005_test.py>:278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/tasks.py>:845: in syntaxValidate 'self.conn.add_s(entry)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:155: in inner return 'f(ent.dn,' 'ent.toTupleList(),' '*args[2:])' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:210: in add_s return 'self.result(msgid,all=1,timeout=self.timeout)' <http://vm-058-08
1.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:127: in inner objtype, data = 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:503: in result resp_type, resp_data, resp_msgid = 'self.result2(msgid,all,timeout)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:507: in result2 resp_type, resp_data, resp_msgid, resp_ctrls = 'self.result3(msgid,all,timeout)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:514: in result3 resp_ctrl_classes=resp_ctrl_classes <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:521: in result4 ldap_result = 'self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe622321320>' func = '<built-in' method result4 of LDAP object at '0x7fe6223a1f58>' args = '(4,' 1, -1, 0, 0, '0),' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48005_test:Ticket 48005 syntax validate test... _____________________________ test_ticket48005_usn _____________________________ topology = '<tickets.ticket48005_test.TopologyStandalone' object at '0x7fe621634b50>' def 'test_ticket48005_usn(topology):' ''\'''\'''\''' 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.standalone.plugins.enable(name=PLUGIN_USN)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48005_test.py>:311: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/plugins.py>:128: in enable plugin = 'self.get(selector=name)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/_mapped_object.py>:356: in get results = 'self._get_selector(selector)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/_mapped_object.py>:390: in _get_selector attrlist=self._list_attrlist, <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:597: in search_s return 'self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,Non
e,timeout=self.timeout)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:590: in search_ext_s msgid = 'self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return 'f(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe622321320>' func = '<built-in' method search_ext of LDAP object at '0x7fe6223a1f58>' args = '('\''cn=plugins,cn=config'\'',' 2, ''\''(&(objectclass=top)(objectclass=nsslapdplugin)(|(cn=USN)(nsslapd-pluginPath=USN)))'\'',' '['\''dn'\'',' ''\''nsslapd-pluginPath'\''],' 0, None, '...)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured s
tderr call ----------------------------- INFO:tickets.ticket48005_test:Ticket 48005 usn test... ________________________ test_ticket48005_schemareload _________________________ topology = '<tickets.ticket48005_test.TopologyStandalone' object at '0x7fe621634b50>' def 'test_ticket48005_schemareload(topology):' ''\'''\'''\''' Run schema reload task without waiting 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 schema reload 'test...")' try: '#' run the schema reload task '>' 'topology.standalone.tasks.schemaReload(args={TASK_WAIT:' 'False})' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48005_test.py>:371: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/tasks.py>:758: in schemaReload 'self.conn.add_s(entry)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:155: in inner return 'f(ent.dn,' 'ent.toTupleList(),' '*args[2:])' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:209: in add_s msgid = 'self.add(dn,modlist)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:157: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:206: in add return 'self.add_ext(dn,modlist,None,None)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:157: in inner return 'f(*args,' '**kwargs)' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:191: in add_ext return 'self._ldap_call(self._l.add_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return 'f
(*args,' '**kwargs)' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = '<lib389.DirSrv' instance at '0x7fe622321320>' func = '<built-in' method add_ext of LDAP object at '0x7fe6223a1f58>' args = '('\''cn=task-11022016_010352,cn=schema' reload 'task,cn=tasks,cn=config'\'',' '[('\''objectclass'\'',' '('\''top'\'',' ''\''extensibleObject'\'')),' '('\''cn'\'',' '('\''task-11022016_010352'\'',))],' None, 'None)' kwargs = '{},' diagnostic_message_success = None e = 'SERVER_DOWN({'\''desc'\'':' '"Can'\''t' contact LDAP 'server"},)' 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 SERVER_DOWN: '{'\''desc'\'':' '"Can'\''t' contact LDAP 'server"}' /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48005_test:Ticket 48005 schema reload test... _______________________________ test_ticket48109 _______________________________ topology = '<tickets.ticket48109_test.TopologyStandalone' object at '0x7fe620fb6f90>' def 'test_ticket48109(topology):' ''\'''\'''\''' Set SubStr lengths to cn=uid,cn=index,... objectClass: extensibleObject nsIndexType: sub nsSubStrBegin: 2 nsSubStrEnd: 2 ''\'''\'''\''' 'log.info('\''Test' case '0'\'')' '#' add substr setting to UID_INDEX try: 'topology.standalone.modify_s(UID_INDEX,' '[(ldap.MOD_ADD,' ''\''objectClass'\'',' ''\''extensibleObject'\''),' '(ldap.MOD_ADD,' ''\''nsIndexType'\'',' ''\''sub'\''),' '(ldap.MOD_ADD,' ''\''n
sSubStrBegin'\'',' ''\''2'\''),' '(ldap.MOD_ADD,' ''\''nsSubStrEnd'\'',' ''\''2'\'')])' except ldap.LDAPError as e: 'log.error('\''Failed' to add substr lengths: error \' + 'e.message['\''desc'\''])' assert False '#' restart the server to apply the indexing 'topology.standalone.restart(timeout=10)' '#' add a test user UID = ''\''auser0'\''' USER_DN = ''\''uid=%s,%s'\''' % '(UID,' 'SUFFIX)' try: 'topology.standalone.add_s(Entry((USER_DN,' '{' ''\''objectclass'\'':' ''\''top' person organizationalPerson 'inetOrgPerson'\''.split(),' ''\''cn'\'':' ''\''a' 'user0'\'',' ''\''sn'\'':' ''\''user0'\'',' ''\''givenname'\'':' ''\''a'\'',' ''\''mail'\'':' 'UID})))' except ldap.LDAPError as e: 'log.error('\''Failed' to add \' + USER_DN + ''\'':' error \' + 'e.message['\''desc'\''])' assert False entries = 'topology.standalone.search_s(SUFFIX,' ldap.SCOPE_SUBTREE, ''\''(uid=a*)'\'')' assert 'len(entries)' == 1 '#' restart the server to check the access log 'topology.standalone.restart(timeout=10)' cmdline = ''\''egrep' %s %s '|' egrep '"uid=a\*"'\''' % '(SUFFIX,' 'topology.standalone.accesslog)' p = 'os.popen(cmdline,' '"r")' l0 = 'p.readline()' if l0 == '"":' 'log.error('\''Search' with '"(uid=a*)"' is not logged in \' + 'topology.standalone.accesslog)' '>' assert False E assert False <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48109_test.py>:121: AssertionError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48109_test:Test case 0 ERROR:tickets.ticket48109_test:Search with '"(uid=a*)"' is not logged in /var/log/dirsrv/slapd-standalone/access ______________________________ test_ticket48226_1 ______________________________ topology = '<tickets.ticket48226_test.TopologyReplication' object at '0x7fe620c69310>' def 'test_ticket48226_1(topology):' name = ''\''test_entry'\''' dn = '"
cn=%s,%s"' % '(name,' 'SUFFIX)' 'topology.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.master1.modify_s(dn,' 'mods)' nbtry = 0 while '(nbtry' '<=' '10):' try: ent = 'topology.master2.getEntry(dn,' ldap.SCOPE_BASE, '"(objectclass=*)",' '['\''description'\''])' if 'ent.hasAttr('\''description'\'')' and 'ent.getValue('\''description'\'')' == ''\''5'\'':' break except ldap.NO_SUCH_OBJECT: pass nbtry = nbtry + 1 'time.sleep(1)' assert nbtry '<=' 10 '#' Stop M2 so that it will not receive the next update 'topology.master2.stop(10)' '#' ADD a new value that is not replicated mods = '[(ldap.MOD_DELETE,' ''\''description'\'',' ''\''5'\'')]' 'topology.master1.modify_s(dn,' 'mods)' '#' Stop M1 so that it will keep del ''\''5'\''' that is unknown from master2 'topology.master1.stop(10)' '#' Get the sbin directory so we know where to replace ''\''ns-slapd'\''' sbin_dir = 'topology.master2.get_sbin_dir()' '#' Enable valgrind if not 'topology.master2.has_asan():' '>' 'valgrind_enable(sbin_dir)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48226_test.py>:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sbin_dir = ''\''/usr/sbin'\''' wrapper = ''\''<http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/ns-slapd.valgrind'\'''> def 'valgrind_enable(sbin_dir,' 'wrapper=None):' ''\'''\'''\''' Copy the valgrind ns-slapd wrapper into the /sbin directory '(making' a backup of the original ns-slapd 'binary).' The script calling 'valgrind_enable()' must be run as the ''\''root'\''' user as selinux needs to be disabled for valgrind to work The server 'instance(s)' should be stopped prior to calling this function. Then after calling 'valgrind_enable():' - Start the server 'instance(s)' with a timeout of 
60 '(valgrind' takes a while to 'startup)' - Run the tests - Stop the server - Get the results file - Run 'valgrind_check_file(result_file,' '"pattern",' '"pattern",' '...)' - Run 'valgrind_disable()' :param sbin_dir: the location of the ns-slapd binary '(e.g.' '/usr/sbin)' :param wrapper: The valgrind wrapper script for ns-slapd '(if' not set, a default wrapper is 'used)' :raise IOError: If there is a problem setting up the valgrind scripts :raise EnvironmentError: If script is not run as ''\''root'\''' ''\'''\'''\''' if 'os.geteuid()' '!=' 0: 'log.error('\''This' script must be run as root to use 'valgrind'\'')' raise EnvironmentError if not wrapper: '#' use the default ns-slapd wrapper wrapper = ''\''%s/%s'\''' % '(os.path.dirname(os.path.abspath(__file__)),' 'VALGRIND_WRAPPER)' nsslapd_orig = ''\''%s/ns-slapd'\''' % sbin_dir nsslapd_backup = ''\''%s/ns-slapd.original'\''' % sbin_dir if 'os.path.isfile(nsslapd_backup):' '#' There is a backup which means we never cleaned up from a previous '#' 'run(failed' 'test?)' if not 'filecmp.cmp(nsslapd_backup,' 'nsslapd_orig):' '#' Files are different sizes, we assume valgrind is already setup 'log.info('\''Valgrind' is already 'enabled.'\'')' return '#' Check both 'nsslapd'\''s' exist if not 'os.path.isfile(wrapper):' raise 'IOError('\''The' valgrind wrapper '(%s)' does not exist. 'file=%s'\''' % '(wrapper,' '__file__))' if not 'os.path.isfile(nsslapd_orig):' raise 'IOError('\''The' binary '(%s)' does not exist or is not 'accessible.'\''' % 'nsslapd_orig)' '#' Make a backup of the original ns-slapd and copy the wrapper into place try: 'shutil.copy2(nsslapd_orig,' 'nsslapd_backup)' except IOError as e: 'log.fatal('\''valgrind_enable():' failed to backup ns-slapd, error: '%s'\''' % 'e.strerror)' raise 'IOError('\''failed' to backup ns-slapd, error: '%s'\''' % 'e.strerror)' '#' Copy the valgrind wrapper into place try: 'shutil.copy2(wrapper,' 'nsslapd_orig)' except IOError as e: 'log.fatal('\''valgrind_enable():' failed to copy valgrind wrapper \' ''\''to' ns-slapd, error:
 '%s'\''' % 'e.strerror)' raise 'IOError('\''failed' to copy valgrind wrapper to ns-slapd, error: '%s'\''' % '>' 'e.strerror)' E IOError: failed to copy valgrind wrapper to ns-slapd, error: Text file busy <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/utils.py>:255: IOError ----------------------------- Captured stderr call ----------------------------- 'CRITICAL:lib389.utils:valgrind_enable():' failed to copy valgrind wrapper to ns-slapd, error: Text file busy ____________________ test_ticket48266_count_csn_evaluation _____________________ topology = '<tickets.ticket48266_test.TopologyReplication' object at '0x7fe620c5d550>' entries = None def 'test_ticket48266_count_csn_evaluation(topology,' 'entries):' ents = 'topology.master1.agreement.list(suffix=SUFFIX)' assert 'len(ents)' == 1 '>' first_csn = '_get_first_not_replicated_csn(topology)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48266_test.py>:328: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology = '<tickets.ticket48266_test.TopologyReplication' object at '0x7fe620c5d550>' def '_get_first_not_replicated_csn(topology):' name = '"cn=%s2,%s"' % '(NEW_ACCOUNT,' 'SUFFIX)' '#' read the first CSN that will not be replicated mod = '[(ldap.MOD_REPLACE,' ''\''telephonenumber'\'',' 'str(123456))]' 'topology.master1.modify_s(name,' 'mod)' msgid = 'topology.master1.search_ext(name,' ldap.SCOPE_SUBTREE, ''\''objectclass=*'\'',' '['\''nscpentrywsi'\''])' rtype, rdata, rmsgid = 'topology.master1.result2(msgid)' attrs = None for dn, raw_attrs in rdata: 'topology.master1.log.info("dn:' '%s"' % 'dn)' if ''\''nscpentrywsi'\''' in raw_attrs: attrs = 'raw_attrs['\''nscpentrywsi'\'']' assert attrs for attr in attrs: if 'attr.lower().startswith('\''telephonenumber'\''):' break assert attr '#' now retrieve the CSN of the operation we are looking for csn = None 'topology.master1.stop(timeout=10)' file_path = 'os.path.joi
n(topology.master1.prefix,' '"var/log/dirsrv/slapd-%s/access"' % 'topology.master1.serverid)' '>' file_obj = 'open(file_path,' '"r")' E IOError: '[Errno' '2]' No such file or directory: ''\''/usr/var/log/dirsrv/slapd-master_1/access'\''' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48266_test.py>:276: IOError ----------------------------- Captured stderr call ----------------------------- INFO:lib389:dn: cn=new_account2,dc=example,dc=com __________________ test_ticket48270_homeDirectory_indexed_cis __________________ topology = '<tickets.ticket48270_test.TopologyStandalone' object at '0x7fe620c7c190>' def 'test_ticket48270_homeDirectory_indexed_cis(topology):' 'log.info("\n\nindex' homeDirectory in caseIgnoreIA5Match and 'caseExactIA5Match")' 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'\''})))' '#log.info("attach' 'debugger")' '#time.sleep(60)' 'IGNORE_MR_NAME='\''caseIgnoreIA5Match'\''' 'EXACT_MR_NAME='\''caseExactIA5Match'\''' mod = '[(ldap.MOD_REPLACE,' MATCHINGRULE, '(IGNORE_MR_NAME,' 'EXACT_MR_NAME))]' 'topology.standalone.modify_s(HOMEDIRECTORY_INDEX,' 'mod)' '#topology.standalone.stop(timeout=10)' 'log.info("successfully' checked that filter with exact mr , a filter with lowercase eq is 'failing")' '#assert' 'topology.standalone.db2index(bename=DEFAULT_BENAME,' suffixes=None, 'attrs=['\''homeDirectory'\''])' '#topology.standalone.start(timeout=10)' args = '{TASK_WAIT:' 'True}' 'topology.standalone.tasks.reindex(suffix=SUFFIX,' 'attrname='\''homeDirectory'\'',' 'args=args)' 'log.info("Check' indexing succeeded with a specified matching 'rule")' file_path = 'os.path.join(topology.standalone.prefix,' '"var/log/dirsrv/slapd-%s/errors"' % 'topology.standalone.ser
verid)' '>' file_obj = 'open(file_path,' '"r")' E IOError: '[Errno' '2]' No such file or directory: ''\''/usr/var/log/dirsrv/slapd-standalone/errors'\''' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48270_test.py>:100: IOError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48270_test: index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match INFO:tickets.ticket48270_test:successfully checked that filter with exact mr , a filter with lowercase eq is failing INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_11022016_011352 completed successfully INFO:tickets.ticket48270_test:Check indexing succeeded with a specified matching rule _______________________________ test_ticket48383 _______________________________ topology = '<tickets.ticket48383_test.TopologyStandalone' object at '0x7fe620e82210>' def 'test_ticket48383(topology):' '"""' This test case will check that we re-alloc buffer sizes on import.c We achieve this by setting the servers dbcachesize to a stupid small value and adding huge objects to ds. Then when we run db2index, either: data stress suites tickets tmp If we are not using the re-alloc code, it will FAIL '(Bad)' data stress suites tickets tmp If we re-alloc properly, it all works regardless. '"""' 'topology.standalone.config.set('\''nsslapd-maxbersize'\'',' ''\''200000000'\'')' 'topology.standalone.restart()' '#' Create some stupid huge objects / attributes in DS. '#' seeAlso is indexed by default. Lets do 'that!' '#' This will take a while ... data = '[random.choice(string.letters)' for x in 'xrange(10000000)]' s = '"".join(data)' '#' This was here for an iteration test. i = 1 USER_DN = ''\''uid=user%s,ou=people,%s'\''' % '(i,' 'DEFAULT_SUFFIX)' padding = '['\''%s'\''' % n for n in 'range(400)]' user = 'Entry((USER_DN,' '{' ''\''objectclass'\'':' ''\''top' posixAccount person 'extensibleObject'\''.split(),' ''\''uid'\'':'
 ''\''user%s'\''' % '(i),' ''\''cn'\'':' ''\''user%s'\''' % '(i),' ''\''uidNumber'\'':' ''\''%s'\''' % '(i),' ''\''gidNumber'\'':' ''\''%s'\''' % '(i),' ''\''homeDirectory'\'':' ''\''/home/user%s'\''' % '(i),' ''\''description'\'':' ''\''user' 'description'\'',' ''\''sn'\''' : s , ''\''padding'\''' : padding , '}))' try: 'topology.standalone.add_s(user)' except ldap.LDAPError as e: 'log.fatal('\''test' 48383: Failed to user%s: error %s \' % '(i,' 'e.message['\''desc'\'']))' assert False '#' Set the dbsize really low. try: 'topology.standalone.modify_s(DEFAULT_BENAME,' '[(ldap.MOD_REPLACE,' ''\''nsslapd-cachememsize'\'',' ''\''1'\'')])' except ldap.LDAPError as e: 'log.fatal('\''Failed' to change nsslapd-cachememsize \' + 'e.message['\''desc'\''])' '##' Does ds try and set a minimum possible value for 'this?' '##' Yes: '[16/Feb/2016:16:39:18' '+1000]' - WARNING: cache too small, increasing to 500K bytes '#' Given the formula, by default, this means DS will make the buffsize 400k '#' So an object with a 1MB attribute should break indexing '#' stop the server 'topology.standalone.stop(timeout=30)' '#' Now export and import the DB. 'It'\''s' easier than db2index ... 'topology.standalone.db2ldif(bename=DEFAULT_BENAME,' 'suffixes=[DEFAULT_SUFFIX],' 'excludeSuffixes=[],' encrypt=False, '\' repl_data=True, 'outputfile='\''%s/ldif/%s.ldif'\''' % '(topology.standalone.dbdir,SERVERID_STANDALONE' '))' result = 'topology.standalone.ldif2db(DEFAULT_BENAME,' None, None, False, ''\''%s/ldif/%s.ldif'\''' % '(topology.standalone.dbdir,SERVERID_STANDALONE' '))' '>' 'assert(result)' E assert False <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48383_test.py>:123: AssertionError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stdout call ----------------------------- OK group dirsrv exists OK user dirsrv exists Exported ldif file: /var/lib/dirsrv/s
lapd-standalone/db/ldif/standalone.ldif OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call ----------------------------- CRITICAL:tickets.ticket48383_test:Failed to change nsslapd-cachememsize No such object INFO:lib389:Running script: /usr/sbin/db2ldif -Z standalone -n userRoot -s dc=example,dc=com -a /var/lib/dirsrv/slapd-standalone/db/ldif/standalone.ldif -r '[02/Nov/2016:01:24:14.700083315' '+0100]' - DEBUG - ldbm_back_start - userRoot: entry cache size: 10485760 'B;' db size: 10321920 B '[02/Nov/2016:01:24:14.703449471' '+0100]' - DEBUG - ldbm_back_start - total cache size: 20971520 'B;' '[02/Nov/2016:01:24:14.706372711' '+0100]' - DEBUG - ldbm_back_start - Total entry cache size: 20971520 'B;' dbcache size: 10000000 'B;' available memory size: 2192662528 'B;' '[02/Nov/2016:01:24:14.711643312' '+0100]' - NOTICE - dblayer_start - Detected Disorderly Shutdown last time Directory Server was running, recovering database. ldiffile: /var/lib/dirsrv/slapd-standalone/db/ldif/standalone.ldif '[02/Nov/2016:01:24:15.322593129' '+0100]' - ERR - ldbm_back_ldbm2ldif - db2ldif: 'can'\''t' open /var/lib/dirsrv/slapd-standalone/db/ldif/standalone.ldif: 2 '(No' such file or 'directory)' '[02/Nov/2016:01:24:15.374806454' '+0100]' - INFO - dblayer_pre_close - Waiting for 4 database threads to stop '[02/Nov/2016:01:24:16.304675091' '+0100]' - INFO - dblayer_pre_close - All database threads now stopped ERROR:lib389:ldif2db: 'Can'\''t' find file: /var/lib/dirsrv/slapd-standalone/db/ldif/standalone.ldif ___________________ test_ticket48497_homeDirectory_index_run ___________________ topology = '<tickets.ticket48497_test.TopologyStandalone' object at '0x7fe620c69150>' def 'test_ticket48497_homeDirectory_index_run(topology):' args = '{TASK_WAIT:' 'True}' 'topology.standalone.tasks.reindex(suffix=SUFFIX,' 'attrname='\''homeDirectory'\'',' 'args=args)' 'log.info("Check' indexing succeeded with a specified matching 'rule")' file_path = 'os.path.join(topology.standalone.prefix,' '"var/log/dirs
rv/slapd-%s/errors"' % 'topology.standalone.serverid)' '>' file_obj = 'open(file_path,' '"r")' E IOError: '[Errno' '2]' No such file or directory: ''\''/usr/var/log/dirsrv/slapd-standalone/errors'\''' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48497_test.py>:139: IOError ----------------------------- Captured stderr call ----------------------------- INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_11022016_012440 completed successfully INFO:tickets.ticket48497_test:Check indexing succeeded with a specified matching rule __________________ test_ticket48745_homeDirectory_indexed_cis __________________ topology = '<tickets.ticket48745_test.TopologyStandalone' object at '0x7fe620e69690>' def 'test_ticket48745_homeDirectory_indexed_cis(topology):' 'log.info("\n\nindex' homeDirectory in caseIgnoreIA5Match and 'caseExactIA5Match")' 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'\''})))' '#log.info("attach' 'debugger")' '#time.sleep(60)' 'IGNORE_MR_NAME='\''caseIgnoreIA5Match'\''' 'EXACT_MR_NAME='\''caseExactIA5Match'\''' mod = '[(ldap.MOD_REPLACE,' MATCHINGRULE, '(IGNORE_MR_NAME,' 'EXACT_MR_NAME))]' 'topology.standalone.modify_s(HOMEDIRECTORY_INDEX,' 'mod)' '#topology.standalone.stop(timeout=10)' 'log.info("successfully' checked that filter with exact mr , a filter with lowercase eq is 'failing")' '#assert' 'topology.standalone.db2index(bename=DEFAULT_BENAME,' suffixes=None, 'attrs=['\''homeDirectory'\''])' '#topology.standalone.start(timeout=10)' args = '{TASK_WAIT:' 'True}' 'topology.standalone.tasks.reindex(suffix=SUFFIX,' 'attrname='\''homeDirectory'\'',' 'args=args)' 'log.info("Check' indexing succeeded with a specifie
d matching 'rule")' file_path = 'os.path.join(topology.standalone.prefix,' '"var/log/dirsrv/slapd-%s/errors"' % 'topology.standalone.serverid)' '>' file_obj = 'open(file_path,' '"r")' E IOError: '[Errno' '2]' No such file or directory: ''\''/usr/var/log/dirsrv/slapd-standalone/errors'\''' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48745_test.py>:110: IOError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48745_test: index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match INFO:tickets.ticket48745_test:successfully checked that filter with exact mr , a filter with lowercase eq is failing INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_11022016_012548 completed successfully INFO:tickets.ticket48745_test:Check indexing succeeded with a specified matching rule __________________ test_ticket48746_homeDirectory_indexed_cis __________________ topology = '<tickets.ticket48746_test.TopologyStandalone' object at '0x7fe620e54e90>' def 'test_ticket48746_homeDirectory_indexed_cis(topology):' 'log.info("\n\nindex' homeDirectory in caseIgnoreIA5Match and 'caseExactIA5Match")' 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'\''})))' '#log.info("attach' 'debugger")' '#time.sleep(60)' 'IGNORE_MR_NAME='\''caseIgnoreIA5Match'\''' 'EXACT_MR_NAME='\''caseExactIA5Match'\''' mod = '[(ldap.MOD_REPLACE,' MATCHINGRULE, '(IGNORE_MR_NAME,' 'EXACT_MR_NAME))]' 'topology.standalone.modify_s(HOMEDIRECTORY_INDEX,' 'mod)' '#topology.standalone.stop(timeout=10)' 'log.info("successfully' checked that filter with exact mr , a filter with lowercase eq is 'failing")' '#assert' 'topology.standalone.
db2index(bename=DEFAULT_BENAME,' suffixes=None, 'attrs=['\''homeDirectory'\''])' '#topology.standalone.start(timeout=10)' args = '{TASK_WAIT:' 'True}' 'topology.standalone.tasks.reindex(suffix=SUFFIX,' 'attrname='\''homeDirectory'\'',' 'args=args)' 'log.info("Check' indexing succeeded with a specified matching 'rule")' file_path = 'os.path.join(topology.standalone.prefix,' '"var/log/dirsrv/slapd-%s/errors"' % 'topology.standalone.serverid)' '>' file_obj = 'open(file_path,' '"r")' E IOError: '[Errno' '2]' No such file or directory: ''\''/usr/var/log/dirsrv/slapd-standalone/errors'\''' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48746_test.py>:108: IOError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48746_test: index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match INFO:tickets.ticket48746_test:successfully checked that filter with exact mr , a filter with lowercase eq is failing INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_11022016_012612 completed successfully INFO:tickets.ticket48746_test:Check indexing succeeded with a specified matching rule __________________ test_ticket48746_homeDirectory_indexed_ces __________________ topology = '<tickets.ticket48746_test.TopologyStandalone' object at '0x7fe620e54e90>' def 'test_ticket48746_homeDirectory_indexed_ces(topology):' 'log.info("\n\nindex' homeDirectory in caseExactIA5Match, this would trigger the 'crash")' 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'\''})))' '#' 'log.info("attach' 'debugger")' '#' 'time.sleep(60)' 'EXACT_MR_NAME='\''caseExactIA5Match'\''' mod = '[(ldap.MOD_REPLACE,' MATCHINGRULE, '
(EXACT_MR_NAME))]' 'topology.standalone.modify_s(HOMEDIRECTORY_INDEX,' 'mod)' '#topology.standalone.stop(timeout=10)' 'log.info("successfully' checked that filter with exact mr , a filter with lowercase eq is 'failing")' '#assert' 'topology.standalone.db2index(bename=DEFAULT_BENAME,' suffixes=None, 'attrs=['\''homeDirectory'\''])' '#topology.standalone.start(timeout=10)' args = '{TASK_WAIT:' 'True}' 'topology.standalone.tasks.reindex(suffix=SUFFIX,' 'attrname='\''homeDirectory'\'',' 'args=args)' 'log.info("Check' indexing succeeded with a specified matching 'rule")' file_path = 'os.path.join(topology.standalone.prefix,' '"var/log/dirsrv/slapd-%s/errors"' % 'topology.standalone.serverid)' '>' file_obj = 'open(file_path,' '"r")' E IOError: '[Errno' '2]' No such file or directory: ''\''/usr/var/log/dirsrv/slapd-standalone/errors'\''' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48746_test.py>:172: IOError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48746_test: index homeDirectory in caseExactIA5Match, this would trigger the crash INFO:tickets.ticket48746_test:successfully checked that filter with exact mr , a filter with lowercase eq is failing INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_11022016_012614 completed successfully INFO:tickets.ticket48746_test:Check indexing succeeded with a specified matching rule _____________________ test_ticket48906_dblock_ldap_update ______________________ topology = '<tickets.ticket48906_test.TopologyStandalone' object at '0x7fe620c87050>' def 'test_ticket48906_dblock_ldap_update(topology):' 'topology.standalone.log.info('\''###################################'\'')' 'topology.standalone.log.info('\''###'\'')' 'topology.standalone.log.info('\''###' Check that after ldap 'update'\'')' 'topology.standalone.log.info('\''###' - monitor contains 'DEFAULT'\'')' 'topology.standalone.log.info('\''###' - config
ured contains 'DBLOCK_LDAP_UPDATE'\'')' 'topology.standalone.log.info('\''###' - After stop dse.ldif contains 'DBLOCK_LDAP_UPDATE'\'')' 'topology.standalone.log.info('\''###' - After stop guardian contains 'DEFAULT'\'')' 'topology.standalone.log.info('\''###' In fact guardian should differ from config to recreate the 'env'\'')' 'topology.standalone.log.info('\''###' Check that after restart '(DBenv' 'recreated)'\'')' 'topology.standalone.log.info('\''###' - monitor contains DBLOCK_LDAP_UPDATE ''\'')' 'topology.standalone.log.info('\''###' - configured contains 'DBLOCK_LDAP_UPDATE'\'')' 'topology.standalone.log.info('\''###' - dse.ldif contains 'DBLOCK_LDAP_UPDATE'\'')' 'topology.standalone.log.info('\''###'\'')' 'topology.standalone.log.info('\''###################################'\'')' 'topology.standalone.modify_s(ldbm_config,' '[(ldap.MOD_REPLACE,' DBLOCK_ATTR_CONFIG, 'DBLOCK_LDAP_UPDATE)])' '_check_monitored_value(topology,' 'DBLOCK_DEFAULT)' '_check_configured_value(topology,' attr=DBLOCK_ATTR_CONFIG, expected_value=DBLOCK_LDAP_UPDATE, 'required=True)' 'topology.standalone.stop(timeout=10)' '_check_dse_ldif_value(topology,' attr=DBLOCK_ATTR_CONFIG, 'expected_value=DBLOCK_LDAP_UPDATE)' '>' '_check_guardian_value(topology,' attr=DBLOCK_ATTR_GUARDIAN, 'expected_value=DBLOCK_DEFAULT)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology = '<tickets.ticket48906_test.TopologyStandalone' object at '0x7fe620c87050>' attr = ''\''locks'\'',' expected_value = ''\''10000'\''' def '_check_guardian_value(topology,' attr=DBLOCK_ATTR_CONFIG, 'expected_value=None):' guardian_file = topology.standalone.dbdir + ''\''/db/guardian'\''' '>' 'assert(os.path.exists(guardian_file))' E assert '<function' exists at '0x7fe6320ed050>('\''/var/lib/dirsrv/slapd-standalone/db/db/guardian'\'')' E + where '<function' exists at '0x7fe6320ed050>' = '<module' ''\''posixpat
h'\''' from ''\''/usr/lib64/python2.7/posixpath.pyc'\''>.exists' E + where '<module' ''\''posixpath'\''' from ''\''/usr/lib64/python2.7/posixpath.pyc'\''>' = os.path <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:164: AssertionError ----------------------------- Captured stderr call ----------------------------- INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that after ldap update INFO:lib389:### - monitor contains DEFAULT INFO:lib389:### - configured contains DBLOCK_LDAP_UPDATE INFO:lib389:### - After stop dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### - After stop guardian contains DEFAULT INFO:lib389:### In fact guardian should differ from config to recreate the env INFO:lib389:### Check that after restart '(DBenv' 'recreated)' INFO:lib389:### - monitor contains DBLOCK_LDAP_UPDATE INFO:lib389:### - configured contains DBLOCK_LDAP_UPDATE INFO:lib389:### - dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### INFO:lib389:################################### _____________________ test_ticket48906_dblock_edit_update ______________________ topology = '<tickets.ticket48906_test.TopologyStandalone' object at '0x7fe620c87050>' def 'test_ticket48906_dblock_edit_update(topology):' 'topology.standalone.log.info('\''###################################'\'')' 'topology.standalone.log.info('\''###'\'')' 'topology.standalone.log.info('\''###' Check that after 'stop'\'')' 'topology.standalone.log.info('\''###' - dse.ldif contains 'DBLOCK_LDAP_UPDATE'\'')' 'topology.standalone.log.info('\''###' - guardian contains 'DBLOCK_LDAP_UPDATE'\'')' 'topology.standalone.log.info('\''###' Check that edit 'dse+restart'\'')' 'topology.standalone.log.info('\''###' - monitor contains 'DBLOCK_EDIT_UPDATE'\'')' 'topology.standalone.log.info('\''###' - configured contains 'DBLOCK_EDIT_UPDATE'\'')' 'topology.standalone.log.info('\''###' Check that after 'stop'\'')' 'topology.standalone.log.info('\''###' - dse.ldif cont
ains 'DBLOCK_EDIT_UPDATE'\'')' 'topology.standalone.log.info('\''###' - guardian contains 'DBLOCK_EDIT_UPDATE'\'')' 'topology.standalone.log.info('\''###'\'')' 'topology.standalone.log.info('\''###################################'\'')' 'topology.standalone.stop(timeout=10)' '_check_dse_ldif_value(topology,' attr=DBLOCK_ATTR_CONFIG, 'expected_value=DBLOCK_LDAP_UPDATE)' '>' '_check_guardian_value(topology,' attr=DBLOCK_ATTR_GUARDIAN, 'expected_value=DBLOCK_LDAP_UPDATE)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology = '<tickets.ticket48906_test.TopologyStandalone' object at '0x7fe620c87050>' attr = ''\''locks'\'',' expected_value = ''\''20000'\''' def '_check_guardian_value(topology,' attr=DBLOCK_ATTR_CONFIG, 'expected_value=None):' guardian_file = topology.standalone.dbdir + ''\''/db/guardian'\''' '>' 'assert(os.path.exists(guardian_file))' E assert '<function' exists at '0x7fe6320ed050>('\''/var/lib/dirsrv/slapd-standalone/db/db/guardian'\'')' E + where '<function' exists at '0x7fe6320ed050>' = '<module' ''\''posixpath'\''' from ''\''/usr/lib64/python2.7/posixpath.pyc'\''>.exists' E + where '<module' ''\''posixpath'\''' from ''\''/usr/lib64/python2.7/posixpath.pyc'\''>' = os.path <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:164: AssertionError ----------------------------- Captured stderr call ----------------------------- INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that after stop INFO:lib389:### - dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### - guardian contains DBLOCK_LDAP_UPDATE INFO:lib389:### Check that edit dse+restart INFO:lib389:### - monitor contains DBLOCK_EDIT_UPDATE INFO:lib389:### - configured contains DBLOCK_EDIT_UPDATE INFO:lib389:### Check that after stop INFO:lib389:### - dse.ldif c
ontains DBLOCK_EDIT_UPDATE INFO:lib389:### - guardian contains DBLOCK_EDIT_UPDATE INFO:lib389:### INFO:lib389:################################### ________________________ test_ticket48906_dblock_robust ________________________ topology = '<tickets.ticket48906_test.TopologyStandalone' object at '0x7fe620c87050>' def 'test_ticket48906_dblock_robust(topology):' 'topology.standalone.log.info('\''###################################'\'')' 'topology.standalone.log.info('\''###'\'')' 'topology.standalone.log.info('\''###' Check that the following values are 'rejected'\'')' 'topology.standalone.log.info('\''###' - negative 'value'\'')' 'topology.standalone.log.info('\''###' - insuffisant 'value'\'')' 'topology.standalone.log.info('\''###' - invalid 'value'\'')' 'topology.standalone.log.info('\''###' Check that minimum value is 'accepted'\'')' 'topology.standalone.log.info('\''###'\'')' 'topology.standalone.log.info('\''###################################'\'')' 'topology.standalone.start(timeout=10)' '>' '_check_monitored_value(topology,' 'DBLOCK_EDIT_UPDATE)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:291: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology = '<tickets.ticket48906_test.TopologyStandalone' object at '0x7fe620c87050>' expected_value = ''\''40000'\''' def '_check_monitored_value(topology,' 'expected_value):' entries = 'topology.standalone.search_s(ldbm_monitor,' ldap.SCOPE_BASE, ''\''(objectclass=*)'\'')' '>' 'assert(entries[0].hasValue(DBLOCK_ATTR_MONITOR)' and 'entries[0].getValue(DBLOCK_ATTR_MONITOR)' == 'expected_value)' E assert '(True' and ''\''20000'\''' == ''\''40000'\''' E + where True = '<bound' method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn...pd-db-txn-region-wait-rate: '0\nobjectClass:' 'top\nobjectClass:' 'extensibleObject\n\n>('\''nsslapd-db-configured-locks'\'')' E + where '<bound' method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm da
tabase,cn...pd-db-txn-region-wait-rate: '0\nobjectClass:' 'top\nobjectClass:' 'extensibleObject\n\n>' = dn: cn=database,cn=monitor,cn=ldbm 'database,cn=plugins,cn=config\ncn:' 'database\n...apd-db-txn-region-wait-rate:' '0\nobjectClass:' 'top\nobjectClass:' 'extensibleObject\n\n.hasValue' E - 20000 E '?' '^' E + 40000 E '?' '^)' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:144: AssertionError ----------------------------- Captured stderr call ----------------------------- INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that the following values are rejected INFO:lib389:### - negative value INFO:lib389:### - insuffisant value INFO:lib389:### - invalid value INFO:lib389:### Check that minimum value is accepted INFO:lib389:### INFO:lib389:################################### 'INFO:lib389:open():' Connecting to uri ldap://localhost.localdomain:38931/ 'INFO:lib389:open():' bound as cn=Directory Manager _____________________________ test_basic_systemctl _____________________________ topology = '<suites.basic.basic_test.TopologyStandalone' object at '0x7fe620d843d0>' import_example_ldif = None def 'test_basic_systemctl(topology,' 'import_example_ldif):' '"""Test' systemctl/lib389 can stop and start the server. Also test that start reports an error when the instance does not start. Only for RPM builds '"""' 'log.info('\''Running' 'test_basic_systemctl...'\'')' config_dir = 'topology.standalone.get_config_dir()' '#' '#' Stop the server '#' 'log.info('\''Stopping' the 'server...'\'')' 'topology.standalone.stop()' 'log.info('\''Stopped' the 'server.'\'')' '#' '#' Start the server '#' 'log.info('\''Starting' the 'server...'\'')' 'topology.standalone.start()' 'log.info('\''Started' the 'server.'\'')' '#' '#' Stop the server, break the dse.ldif so a start fails, '#' and verify that systemctl detects the failed start '#' 'log.info('\''Stopping' the 'server...'\'')' 'topology.standalone.stop()' 'log.info(
'\''Stopped' the server before breaking the 'dse.ldif.'\'')' 'shutil.copy(config_dir' + ''\''/dse.ldif'\'',' config_dir + ''\''/dse.ldif.correct'\''' ')' 'open(config_dir' + ''\''/dse.ldif'\'',' ''\''w'\'').close()' '#' We need to kill the .bak file too, DS is just too 'smart!' 'open(config_dir' + ''\''/dse.ldif.bak'\'',' ''\''w'\'').close()' 'log.info('\''Attempting' to start the server with broken 'dse.ldif...'\'')' try: 'topology.standalone.start()' except: 'log.info('\''Server' failed to start as 'expected'\'')' 'log.info('\''Check' the 'status...'\'')' 'assert(not' 'topology.standalone.status())' 'log.info('\''Server' failed to start as 'expected'\'')' 'time.sleep(5)' '#' '#' Fix the dse.ldif, and make sure the server starts up, '#' and systemctl correctly identifies the successful start '#' 'shutil.copy(config_dir' + ''\''/dse.ldif.correct'\'',' config_dir + ''\''/dse.ldif'\''' ')' 'log.info('\''Starting' the server with good 'dse.ldif...'\'')' '>' 'topology.standalone.start()' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/suites/basic/basic_test.py>:651: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:1096: in start '"dirsrv@%s"' % 'self.serverid])' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = '(['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\''],),' kwargs = '{}' retcode = 1, cmd = '['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\'']' 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 Popen constructor. Example: 'check_call(["ls",' '"-l"])' '"""' retcode = 'call(*popen
args,' '**kwargs)' if retcode: cmd = 'kwargs.get("args")' if cmd is None: cmd = 'popenargs[0]' '>' raise 'CalledProcessError(retcode,' 'cmd)' E CalledProcessError: Command ''\''['\''/usr/bin/systemctl'\'',' ''\''start'\'',' ''\''dirsrv@standalone'\'']'\''' returned non-zero exit status 1 /usr/lib64/python2.7/subprocess.py:541: CalledProcessError ----------------------------- Captured stderr call ----------------------------- INFO:suites.basic.basic_test:Running test_basic_systemctl... INFO:suites.basic.basic_test:Stopping the server... INFO:suites.basic.basic_test:Stopped the server. INFO:suites.basic.basic_test:Starting the server... INFO:suites.basic.basic_test:Started the server. INFO:suites.basic.basic_test:Stopping the server... INFO:suites.basic.basic_test:Stopped the server before breaking the dse.ldif. INFO:suites.basic.basic_test:Attempting to start the server with broken dse.ldif... Job for dirsrv@standalone.service failed because the control process exited with error code. See '"systemctl' status 'dirsrv@standalone.service"' and '"journalctl' '-xe"' for details. INFO:suites.basic.basic_test:Server failed to start as expected INFO:suites.basic.basic_test:Check the status... INFO:suites.basic.basic_test:Server failed to start as expected INFO:suites.basic.basic_test:Starting the server with good dse.ldif... Job for dirsrv@standalone.service failed because the control process exited with error code. See '"systemctl' status 'dirsrv@standalone.service"' and '"journalctl' '-xe"' for details. ___________________________ test_multi_suffix_search ___________________________ topology = '<suites.paged_results.paged_results_test.TopologyStandalone' object at '0x7fe620f67690>' test_user = None, new_suffixes = None def 'test_multi_suffix_search(topology,' test_user, 'new_suffixes):' '"""Verify' that page result search returns empty cookie if there is no returned entry. :Feature: Simple paged results :Setup: Standalone instance, test user for binding, two suffixes with backends, one is inserted into another, 10 users
 for the search base within each suffix :Steps: 1. Bind as test user 2. Search through all 20 added users with a simple paged control using page_size = 4 3. Wait some time logs to be updated 3. Check access log :Assert: All users should be found, the access log should contain the pr_cookie for each page request and it should be equal 0, except the last one should be equal -1 '"""' search_flt = 'r'\''(uid=test*)'\''' searchreq_attrlist = '['\''dn'\'',' ''\''sn'\'']' page_size = 4 users_num = 20 'log.info('\''Clear' the access 'log'\'')' 'topology.standalone.deleteAccessLogs()' users_list_1 = 'add_users(topology,' users_num / 2, 'NEW_SUFFIX_1)' users_list_2 = 'add_users(topology,' users_num / 2, 'NEW_SUFFIX_2)' try: 'log.info('\''Set' DM 'bind'\'')' 'topology.standalone.simple_bind_s(DN_DM,' 'PASSWORD)' req_ctrl = 'SimplePagedResultsControl(True,' size=page_size, 'cookie='\'''\'')' all_results = 'paged_search(topology,' NEW_SUFFIX_1, '[req_ctrl],' search_flt, 'searchreq_attrlist)' 'log.info('\''{}' 'results'\''.format(len(all_results)))' assert 'len(all_results)' == users_num 'log.info('\''Restart' the server to flush the 'logs'\'')' 'topology.standalone.restart(timeout=10)' access_log_lines = 'topology.standalone.ds_access_log.match('\''.*pr_cookie=.*'\'')' pr_cookie_list = '([line.rsplit('\''='\'',' '1)[-1]' for line in 'access_log_lines])' pr_cookie_list = '[int(pr_cookie)' for pr_cookie in 'pr_cookie_list]' 'log.info('\''Assert' that last pr_cookie == -1 and others pr_cookie == '0'\'')' pr_cookie_zeros = 'list(pr_cookie' == 0 for pr_cookie in 'pr_cookie_list[0:-1])' assert 'all(pr_cookie_zeros)' '>' assert 'pr_cookie_list[-1]' == -1 E IndexError: list index out of range <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/suites/paged_results/paged_results_test.py>:1198: IndexError ---------------------------- Captured stderr setup ----------------------------- INFO:suites.paged_results.paged_results_test:Adding suffix:o=test_parent and backend: parent_base IN
FO:lib389:List backend with suffix=o=test_parent INFO:lib389:Creating a local backend INFO:lib389:List backend cn=parent_base,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=parent_base,cn=ldbm database,cn=plugins,cn=config cn: parent_base nsslapd-cachememsize: 10485760 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-standalone/db/parent_base nsslapd-dncachememsize: 10485760 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=test_parent objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance INFO:lib389:Entry dn: 'cn="o=test_parent",cn=mapping' tree,cn=config cn: o=test_parent nsslapd-backend: parent_base nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree INFO:lib389:Found entry dn: 'cn=o\3Dtest_parent,cn=mapping' tree,cn=config cn: o=test_parent nsslapd-backend: parent_base nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree INFO:suites.paged_results.paged_results_test:Adding suffix:ou=child,o=test_parent and backend: child_base INFO:lib389:List backend with suffix=ou=child,o=test_parent INFO:lib389:Creating a local backend INFO:lib389:List backend cn=child_base,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=child_base,cn=ldbm database,cn=plugins,cn=config cn: child_base nsslapd-cachememsize: 10485760 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-standalone/db/child_base nsslapd-dncachememsize: 10485760 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: ou=child,o=test_parent objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance INFO:lib389:Entry dn: 'cn="ou=child,o=test_parent",cn=mapping' tree,cn=config cn: ou=child,o=test_parent nsslapd-backend: child_base nsslapd-parent-suffix: o=test_parent nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree INFO:lib389:Found entry dn: 'cn=ou\3Dchild\2Co\3Dtest_parent,cn=mapping' tree,cn=conf
ig cn: ou=child,o=test_parent nsslapd-backend: child_base nsslapd-parent-suffix: o=test_parent nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree INFO:suites.paged_results.paged_results_test:Adding ACI to allow our test user to search ----------------------------- Captured stderr call ----------------------------- INFO:suites.paged_results.paged_results_test:Clear the access log INFO:suites.paged_results.paged_results_test:Adding 10 users INFO:suites.paged_results.paged_results_test:Adding 10 users INFO:suites.paged_results.paged_results_test:Set DM bind INFO:suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: 'o=test_parent;' filter: '(uid=test*);' attr list '['\''dn'\'',' ''\''sn'\''];' page_size = '4;' controls: '[<ldap.controls.libldap.SimplePagedResultsControl' instance at '0x7fe618e6b6c8>].' INFO:suites.paged_results.paged_results_test:Getting page 0 INFO:suites.paged_results.paged_results_test:Getting page 1 INFO:suites.paged_results.paged_results_test:Getting page 2 INFO:suites.paged_results.paged_results_test:Getting page 3 INFO:suites.paged_results.paged_results_test:Getting page 4 INFO:suites.paged_results.paged_results_test:Getting page 5 INFO:suites.paged_results.paged_results_test:20 results INFO:suites.paged_results.paged_results_test:Restart the server to flush the logs INFO:suites.paged_results.paged_results_test:Assert that last pr_cookie == -1 and others pr_cookie == 0 INFO:suites.paged_results.paged_results_test:Remove added users INFO:suites.paged_results.paged_results_test:Deleting 10 users INFO:suites.paged_results.paged_results_test:Deleting 10 users ============== 46 failed, 474 passed, 1 error in 7625.47 seconds ===============
============================= test session starts ============================== platform linux2 -- Python 2.7.12, pytest-2.9.2, py-1.4.31, pluggy-0.3.1 -- /usr/bin/python2 cachedir: .cache rootdir: <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests,> inifile: plugins: sourceorder-0.5, multihost-1.0 collecting ... collected 520 items tickets/ticket1347760_test.py::test_ticket1347760 FAILED tickets/ticket365_test.py::test_ticket365 PASSED tickets/ticket47313_test.py::test_ticket47313_run PASSED tickets/ticket47384_test.py::test_ticket47384 PASSED tickets/ticket47431_test.py::test_ticket47431_0 PASSED tickets/ticket47431_test.py::test_ticket47431_1 FAILED tickets/ticket47431_test.py::test_ticket47431_2 PASSED tickets/ticket47431_test.py::test_ticket47431_3 PASSED tickets/ticket47462_test.py::test_ticket47462 FAILED tickets/ticket47490_test.py::test_ticket47490_init PASSED tickets/ticket47490_test.py::test_ticket47490_one PASSED tickets/ticket47490_test.py::test_ticket47490_two PASSED tickets/ticket47490_test.py::test_ticket47490_three PASSED tickets/ticket47490_test.py::test_ticket47490_four PASSED tickets/ticket47490_test.py::test_ticket47490_five PASSED tickets/ticket47490_test.py::test_ticket47490_six PASSED tickets/ticket47490_test.py::test_ticket47490_seven PASSED tickets/ticket47490_test.py::test_ticket47490_eight PASSED tickets/ticket47490_test.py::test_ticket47490_nine PASSED tickets/ticket47536_test.py::test_ticket47536 FAILED tickets/ticket47553_test.py::test_ticket47553 PASSED tickets/ticket47560_test.py::test_ticket47560 PASSED tickets/ticket47573_test.py::test_ticket47573_init PASSED tickets/ticket47573_test.py::test_ticket47573_one PASSED tickets/ticket47573_test.py::test_ticket47573_two PASSED tickets/ticket47573_test.py::test_ticket47573_three PASSED tickets/ticket47619_test.py::test_ticket47619_init FAILED tickets/ticket47619_test.py::test_ticket47619_create_index PASSED tickets/ticket47619_test.py::test_ticket47619_reindex PASSED tickets/ticket
47619_test.py::test_ticket47619_check_indexed_search PASSED tickets/ticket47640_test.py::test_ticket47640 PASSED tickets/ticket47653MMR_test.py::test_ticket47653_init PASSED tickets/ticket47653MMR_test.py::test_ticket47653_add PASSED tickets/ticket47653MMR_test.py::test_ticket47653_modify PASSED tickets/ticket47653_test.py::test_ticket47653_init PASSED tickets/ticket47653_test.py::test_ticket47653_add PASSED tickets/ticket47653_test.py::test_ticket47653_search PASSED tickets/ticket47653_test.py::test_ticket47653_modify PASSED tickets/ticket47653_test.py::test_ticket47653_delete PASSED tickets/ticket47669_test.py::test_ticket47669_init FAILED tickets/ticket47669_test.py::test_ticket47669_changelog_maxage FAILED tickets/ticket47669_test.py::test_ticket47669_changelog_triminterval FAILED tickets/ticket47669_test.py::test_ticket47669_changelog_compactdbinterval FAILED tickets/ticket47669_test.py::test_ticket47669_retrochangelog_maxage FAILED tickets/ticket47676_test.py::test_ticket47676_init PASSED tickets/ticket47676_test.py::test_ticket47676_skip_oc_at PASSED tickets/ticket47676_test.py::test_ticket47676_reject_action PASSED tickets/ticket47714_test.py::test_ticket47714_init PASSED tickets/ticket47714_test.py::test_ticket47714_run_0 PASSED tickets/ticket47714_test.py::test_ticket47714_run_1 PASSED tickets/ticket47721_test.py::test_ticket47721_init PASSED tickets/ticket47721_test.py::test_ticket47721_0 PASSED tickets/ticket47721_test.py::test_ticket47721_1 PASSED tickets/ticket47721_test.py::test_ticket47721_2 PASSED tickets/ticket47721_test.py::test_ticket47721_3 PASSED tickets/ticket47721_test.py::test_ticket47721_4 PASSED tickets/ticket47781_test.py::test_ticket47781 PASSED tickets/ticket47787_test.py::test_ticket47787_init PASSED tickets/ticket47787_test.py::test_ticket47787_2 PASSED tickets/ticket47808_test.py::test_ticket47808_run PASSED tickets/ticket47815_test.py::test_ticket47815 PASSED tickets/ticket47819_test.py::test_ticket47819 PASSED tickets/ticket47823_test.py::test_ticket47823_init FAILED tickets/tic
ket47823_test.py::test_ticket47823_one_container_add FAILED tickets/ticket47823_test.py::test_ticket47823_one_container_mod FAILED tickets/ticket47823_test.py::test_ticket47823_one_container_modrdn FAILED tickets/ticket47823_test.py::test_ticket47823_multi_containers_add FAILED tickets/ticket47823_test.py::test_ticket47823_multi_containers_mod FAILED tickets/ticket47823_test.py::test_ticket47823_multi_containers_modrdn FAILED tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_add FAILED tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_mod FAILED tickets/ticket47823_test.py::test_ticket47823_across_multi_containers_modrdn FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_1 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_2 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_3 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_4 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_5 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_6 FAILED tickets/ticket47823_test.py::test_ticket47823_invalid_config_7 FAILED tickets/ticket47828_test.py::test_ticket47828_init PASSED tickets/ticket47828_test.py::test_ticket47828_run_0 PASSED tickets/ticket47828_test.py::test_ticket47828_run_1 PASSED tickets/ticket47828_test.py::test_ticket47828_run_2 PASSED tickets/ticket47828_test.py::test_ticket47828_run_3 PASSED tickets/ticket47828_test.py::test_ticket47828_run_4 PASSED tickets/ticket47828_test.py::test_ticket47828_run_5 PASSED tickets/ticket47828_test.py::test_ticket47828_run_6 PASSED tickets/ticket47828_test.py::test_ticket47828_run_7 PASSED tickets/ticket47828_test.py::test_ticket47828_run_8 PASSED tickets/ticket47828_test.py::test_ticket47828_run_9 PASSED tickets/ticket47828_test.py::test_ticket47828_run_10 PASSED tickets/ticket47828_test.py::test_ticket47828_run_11 PASSED tickets/ticket47828_test.py::test_ticket47828_run_12 PASSED tickets/ticket47828_test.py::test_ticket47828_run_13 P
ASSED tickets/ticket47828_test.py::test_ticket47828_run_14 PASSED tickets/ticket47828_test.py::test_ticket47828_run_15 PASSED tickets/ticket47828_test.py::test_ticket47828_run_16 PASSED tickets/ticket47828_test.py::test_ticket47828_run_17 PASSED tickets/ticket47828_test.py::test_ticket47828_run_18 PASSED tickets/ticket47828_test.py::test_ticket47828_run_19 PASSED tickets/ticket47828_test.py::test_ticket47828_run_20 PASSED tickets/ticket47828_test.py::test_ticket47828_run_21 PASSED tickets/ticket47828_test.py::test_ticket47828_run_22 PASSED tickets/ticket47828_test.py::test_ticket47828_run_23 PASSED tickets/ticket47828_test.py::test_ticket47828_run_24 PASSED tickets/ticket47828_test.py::test_ticket47828_run_25 PASSED tickets/ticket47828_test.py::test_ticket47828_run_26 PASSED tickets/ticket47828_test.py::test_ticket47828_run_27 PASSED tickets/ticket47828_test.py::test_ticket47828_run_28 PASSED tickets/ticket47828_test.py::test_ticket47828_run_29 PASSED tickets/ticket47828_test.py::test_ticket47828_run_30 PASSED tickets/ticket47828_test.py::test_ticket47828_run_31 PASSED tickets/ticket47829_test.py::test_ticket47829_init PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_2 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_3 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_2 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_3 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_out_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_out_user_2 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_out_user_3 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_active_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_stage_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_active_user_modrdn_out_user_1 PASSED tickets/tic
ket47829_test.py::test_ticket47829_mod_modrdn_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_modrdn_active_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_mod_stage_user_modrdn_stage_user_1 PASSED tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_1 PASSED tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_2 PASSED tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_3 PASSED tickets/ticket47829_test.py::test_ticket47829_indirect_active_group_4 PASSED tickets/ticket47833_test.py::test_ticket47829_init PASSED tickets/ticket47833_test.py::test_ticket47829_mod_stage_user_modrdn_stage_user_1 PASSED tickets/ticket47869MMR_test.py::test_ticket47869_init PASSED tickets/ticket47869MMR_test.py::test_ticket47869_check PASSED tickets/ticket47871_test.py::test_ticket47871_init FAILED tickets/ticket47871_test.py::test_ticket47871_1 PASSED tickets/ticket47871_test.py::test_ticket47871_2 PASSED tickets/ticket47900_test.py::test_ticket47900 PASSED tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_positive PASSED tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_negative PASSED tickets/ticket47910_test.py::test_ticket47910_logconv_start_end_invalid PASSED tickets/ticket47910_test.py::test_ticket47910_logconv_noaccesslogs PASSED tickets/ticket47920_test.py::test_ticket47920_init PASSED tickets/ticket47920_test.py::test_ticket47920_mod_readentry_ctrl PASSED tickets/ticket47921_test.py::test_ticket47921 PASSED tickets/ticket47927_test.py::test_ticket47927_init PASSED tickets/ticket47927_test.py::test_ticket47927_one PASSED tickets/ticket47927_test.py::test_ticket47927_two PASSED tickets/ticket47927_test.py::test_ticket47927_three PASSED tickets/ticket47927_test.py::test_ticket47927_four PASSED tickets/ticket47927_test.py::test_ticket47927_five PASSED tickets/ticket47927_test.py::test_ticket47927_six PASSED tickets/ticket47931_test.py::test_ticket47931 PASSED tickets/ticket47937_test.py::test_ticket47937 PASSED tickets/tick
et47950_test.py::test_ticket47950 PASSED tickets/ticket47953_test.py::test_ticket47953 PASSED tickets/ticket47963_test.py::test_ticket47963 PASSED tickets/ticket47966_test.py::test_ticket47966 PASSED tickets/ticket47970_test.py::test_ticket47970 PASSED tickets/ticket47973_test.py::test_ticket47973 PASSED tickets/ticket47976_test.py::test_ticket47976_init PASSED tickets/ticket47976_test.py::test_ticket47976_1 PASSED tickets/ticket47976_test.py::test_ticket47976_2 PASSED tickets/ticket47976_test.py::test_ticket47976_3 PASSED tickets/ticket47980_test.py::test_ticket47980 PASSED tickets/ticket47981_test.py::test_ticket47981 PASSED tickets/ticket47988_test.py::test_ticket47988_init PASSED tickets/ticket47988_test.py::test_ticket47988_1 PASSED tickets/ticket47988_test.py::test_ticket47988_2 PASSED tickets/ticket47988_test.py::test_ticket47988_3 PASSED tickets/ticket47988_test.py::test_ticket47988_4 PASSED tickets/ticket47988_test.py::test_ticket47988_5 PASSED tickets/ticket47988_test.py::test_ticket47988_6 PASSED tickets/ticket48005_test.py::test_ticket48005_setup PASSED tickets/ticket48005_test.py::test_ticket48005_memberof PASSED tickets/ticket48005_test.py::test_ticket48005_automember FAILED tickets/ticket48005_test.py::test_ticket48005_syntaxvalidate FAILED tickets/ticket48005_test.py::test_ticket48005_usn FAILED tickets/ticket48005_test.py::test_ticket48005_schemareload FAILED tickets/ticket48013_test.py::test_ticket48013 PASSED tickets/ticket48026_test.py::test_ticket48026 PASSED tickets/ticket48109_test.py::test_ticket48109 FAILED tickets/ticket48170_test.py::test_ticket48170 PASSED tickets/ticket48194_test.py::test_init PASSED tickets/ticket48194_test.py::test_run_0 PASSED tickets/ticket48194_test.py::test_run_1 PASSED tickets/ticket48194_test.py::test_run_2 PASSED tickets/ticket48194_test.py::test_run_3 PASSED tickets/ticket48194_test.py::test_run_4 PASSED tickets/ticket48194_test.py::test_run_5 PASSED tickets/ticket48194_test.py::test_run_6 PASSED tickets/ticket48194_test.py::test_run_7 PASSED tickets/ticket4
8194_test.py::test_run_8 PASSED tickets/ticket48194_test.py::test_run_9 PASSED tickets/ticket48194_test.py::test_run_10 PASSED tickets/ticket48194_test.py::test_run_11 PASSED tickets/ticket48212_test.py::test_ticket48212 PASSED tickets/ticket48214_test.py::test_ticket48214_run PASSED tickets/ticket48226_test.py::test_ticket48226_set_purgedelay PASSED tickets/ticket48226_test.py::test_ticket48226_1 FAILED tickets/ticket48226_test.py::test_ticket48226_1 ERROR tickets/ticket48228_test.py::test_ticket48228_test_global_policy PASSED tickets/ticket48228_test.py::test_ticket48228_test_subtree_policy PASSED tickets/ticket48233_test.py::test_ticket48233 PASSED tickets/ticket48234_test.py::test_ticket48234 PASSED tickets/ticket48252_test.py::test_ticket48252_setup PASSED tickets/ticket48252_test.py::test_ticket48252_run_0 PASSED tickets/ticket48252_test.py::test_ticket48252_run_1 PASSED tickets/ticket48265_test.py::test_ticket48265_test PASSED tickets/ticket48266_test.py::test_ticket48266_fractional PASSED tickets/ticket48266_test.py::test_ticket48266_check_repl_desc PASSED tickets/ticket48266_test.py::test_ticket48266_count_csn_evaluation FAILED tickets/ticket48270_test.py::test_ticket48270_init PASSED tickets/ticket48270_test.py::test_ticket48270_homeDirectory_indexed_cis FAILED tickets/ticket48270_test.py::test_ticket48270_homeDirectory_mixed_value PASSED tickets/ticket48270_test.py::test_ticket48270_extensible_search PASSED tickets/ticket48272_test.py::test_ticket48272 PASSED tickets/ticket48294_test.py::test_48294_init PASSED tickets/ticket48294_test.py::test_48294_run_0 PASSED tickets/ticket48294_test.py::test_48294_run_1 PASSED tickets/ticket48294_test.py::test_48294_run_2 PASSED tickets/ticket48295_test.py::test_48295_init PASSED tickets/ticket48295_test.py::test_48295_run PASSED tickets/ticket48312_test.py::test_ticket48312 PASSED tickets/ticket48325_test.py::test_ticket48325 PASSED tickets/ticket48342_test.py::test_ticket4026 PASSED tickets/ticket48354_test.py::test_ticket48354 PASSED tickets/ticket48362_test.py:
:test_ticket48362 PASSED tickets/ticket48366_test.py::test_ticket48366_init PASSED tickets/ticket48366_test.py::test_ticket48366_search_user PASSED tickets/ticket48366_test.py::test_ticket48366_search_dm PASSED tickets/ticket48370_test.py::test_ticket48370 PASSED tickets/ticket48383_test.py::test_ticket48383 FAILED tickets/ticket48497_test.py::test_ticket48497_init PASSED tickets/ticket48497_test.py::test_ticket48497_homeDirectory_mixed_value PASSED tickets/ticket48497_test.py::test_ticket48497_extensible_search PASSED tickets/ticket48497_test.py::test_ticket48497_homeDirectory_index_cfg PASSED tickets/ticket48497_test.py::test_ticket48497_homeDirectory_index_run FAILED tickets/ticket48637_test.py::test_ticket48637 PASSED tickets/ticket48665_test.py::test_ticket48665 PASSED tickets/ticket48745_test.py::test_ticket48745_init PASSED tickets/ticket48745_test.py::test_ticket48745_homeDirectory_indexed_cis FAILED tickets/ticket48745_test.py::test_ticket48745_homeDirectory_mixed_value PASSED tickets/ticket48745_test.py::test_ticket48745_extensible_search_after_index PASSED tickets/ticket48746_test.py::test_ticket48746_init PASSED tickets/ticket48746_test.py::test_ticket48746_homeDirectory_indexed_cis FAILED tickets/ticket48746_test.py::test_ticket48746_homeDirectory_mixed_value PASSED tickets/ticket48746_test.py::test_ticket48746_extensible_search_after_index PASSED tickets/ticket48746_test.py::test_ticket48746_homeDirectory_indexed_ces FAILED tickets/ticket48755_test.py::test_ticket48755 PASSED tickets/ticket48759_test.py::test_ticket48759 PASSED tickets/ticket48784_test.py::test_ticket48784 PASSED tickets/ticket48798_test.py::test_ticket48798 PASSED tickets/ticket48799_test.py::test_ticket48799 PASSED tickets/ticket48808_test.py::test_ticket48808 PASSED tickets/ticket48844_test.py::test_ticket48844_init PASSED tickets/ticket48844_test.py::test_ticket48844_bitwise_on PASSED tickets/ticket48844_test.py::test_ticket48844_bitwise_off PASSED tickets/ticket48891_test.py::test_ticket48891_setup PASSED tickets/ticket48893_te
st.py::test_ticket48893 PASSED tickets/ticket48896_test.py::test_ticket48896 PASSED tickets/ticket48906_test.py::test_ticket48906_setup PASSED tickets/ticket48906_test.py::test_ticket48906_dblock_default PASSED tickets/ticket48906_test.py::test_ticket48906_dblock_ldap_update FAILED tickets/ticket48906_test.py::test_ticket48906_dblock_edit_update FAILED tickets/ticket48906_test.py::test_ticket48906_dblock_robust FAILED tickets/ticket48916_test.py::test_ticket48916 PASSED tickets/ticket48956_test.py::test_ticket48956 PASSED tickets/ticket548_test.py::test_ticket548_test_with_no_policy PASSED tickets/ticket548_test.py::test_ticket548_test_global_policy PASSED tickets/ticket548_test.py::test_ticket548_test_subtree_policy PASSED suites/acct_usability_plugin/acct_usability_test.py::test_acct_usability_init PASSED suites/acct_usability_plugin/acct_usability_test.py::test_acct_usability_ PASSED suites/acctpolicy_plugin/acctpolicy_test.py::test_acctpolicy_init PASSED suites/acctpolicy_plugin/acctpolicy_test.py::test_acctpolicy_ PASSED suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[lang-ja] PASSED suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[binary] PASSED suites/acl/acl_test.py::test_aci_attr_subtype_targetattr[phonetic] PASSED suites/acl/acl_test.py::test_mode_default_add_deny PASSED suites/acl/acl_test.py::test_mode_default_delete_deny 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] 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] 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] PASSED suites/acl/acl_test.py::test_moddn_staging_prod[3-cn=st*,dc=example,dc=com-cn=accounts,dc=example,dc=com-False] PASSED suites/acl/acl_test.py::test_moddn_staging_prod[4-cn=bad*,dc=example,dc=com-cn=accounts,dc=example,dc=com-True] PASSED suites/acl/acl_test.py::test_moddn_staging_prod[5-cn=s
t*,dc=example,dc=com-cn=ac*,dc=example,dc=com-False] PASSED suites/acl/acl_test.py::test_moddn_staging_prod[6-None-cn=ac*,dc=example,dc=com-False] PASSED suites/acl/acl_test.py::test_moddn_staging_prod[7-cn=st*,dc=example,dc=com-None-False] PASSED suites/acl/acl_test.py::test_moddn_staging_prod[8-None-None-False] PASSED suites/acl/acl_test.py::test_moddn_staging_prod_9 PASSED suites/acl/acl_test.py::test_moddn_prod_staging PASSED suites/acl/acl_test.py::test_check_repl_M2_to_M1 PASSED suites/acl/acl_test.py::test_moddn_staging_prod_except PASSED suites/acl/acl_test.py::test_mode_default_ger_no_moddn PASSED suites/acl/acl_test.py::test_mode_default_ger_with_moddn PASSED suites/acl/acl_test.py::test_mode_switch_default_to_legacy PASSED suites/acl/acl_test.py::test_mode_legacy_ger_no_moddn1 PASSED suites/acl/acl_test.py::test_mode_legacy_ger_no_moddn2 PASSED suites/acl/acl_test.py::test_mode_legacy_ger_with_moddn PASSED suites/acl/acl_test.py::test_rdn_write_get_ger PASSED suites/acl/acl_test.py::test_rdn_write_modrdn_anonymous PASSED suites/attr_encryption/attr_encrypt_test.py::test_attr_encrypt_init PASSED suites/attr_encryption/attr_encrypt_test.py::test_attr_encrypt_ PASSED suites/attr_uniqueness_plugin/attr_uniqueness_test.py::test_attr_uniqueness_init PASSED suites/attr_uniqueness_plugin/attr_uniqueness_test.py::test_attr_uniqueness PASSED suites/automember_plugin/automember_test.py::test_automember_init PASSED suites/automember_plugin/automember_test.py::test_automember_ PASSED suites/basic/basic_test.py::test_basic_ops PASSED suites/basic/basic_test.py::test_basic_import_export PASSED suites/basic/basic_test.py::test_basic_backup PASSED suites/basic/basic_test.py::test_basic_acl PASSED suites/basic/basic_test.py::test_basic_searches PASSED suites/basic/basic_test.py::test_basic_referrals PASSED suites/basic/basic_test.py::test_basic_systemctl FAILED suites/basic/basic_test.py::test_basic_ldapagent PASSED suites/basic/basic_test.py::test_basic_dse PASSED suites/basic/basic_test.py::test_def_rootdse_attr[namin
gContexts] PASSED suites/basic/basic_test.py::test_def_rootdse_attr[supportedLDAPVersion] PASSED suites/basic/basic_test.py::test_def_rootdse_attr[supportedControl] PASSED suites/basic/basic_test.py::test_def_rootdse_attr[supportedExtension] PASSED suites/basic/basic_test.py::test_def_rootdse_attr[supportedSASLMechanisms] PASSED suites/basic/basic_test.py::test_def_rootdse_attr[vendorName] PASSED suites/basic/basic_test.py::test_def_rootdse_attr[vendorVersion] PASSED suites/basic/basic_test.py::test_mod_def_rootdse_attr[namingContexts] PASSED suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedLDAPVersion] PASSED suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedControl] PASSED suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedExtension] PASSED suites/basic/basic_test.py::test_mod_def_rootdse_attr[supportedSASLMechanisms] PASSED suites/basic/basic_test.py::test_mod_def_rootdse_attr[vendorName] PASSED suites/basic/basic_test.py::test_mod_def_rootdse_attr[vendorVersion] PASSED suites/betxns/betxn_test.py::test_betxn_init PASSED suites/betxns/betxn_test.py::test_betxt_7bit PASSED suites/betxns/betxn_test.py::test_betxn_attr_uniqueness PASSED suites/betxns/betxn_test.py::test_betxn_memberof PASSED suites/chaining_plugin/chaining_test.py::test_chaining_init PASSED suites/chaining_plugin/chaining_test.py::test_chaining_ PASSED suites/clu/clu_test.py::test_clu_init PASSED suites/clu/clu_test.py::test_clu_pwdhash PASSED suites/clu/db2ldif_test.py::test_db2ldif_init PASSED suites/collation_plugin/collatation_test.py::test_collatation_init PASSED suites/collation_plugin/collatation_test.py::test_collatation_ PASSED suites/config/config_test.py::test_maxbersize_repl PASSED suites/config/config_test.py::test_config_listen_backport_size PASSED suites/config/config_test.py::test_config_deadlock_policy PASSED suites/cos_plugin/cos_test.py::test_cos_init PASSED suites/cos_plugin/cos_test.py::test_cos_ PASSED suites/deref_plugin/deref_test.py::test_deref_init PASSED suites/deref_plugin/deref_t
est.py::test_deref_ PASSED suites/disk_monitoring/disk_monitor_test.py::test_disk_monitor_init PASSED suites/disk_monitoring/disk_monitor_test.py::test_disk_monitor_ PASSED suites/distrib_plugin/distrib_test.py::test_distrib_init PASSED suites/distrib_plugin/distrib_test.py::test_distrib_ PASSED suites/dna_plugin/dna_test.py::test_dna_init PASSED suites/dna_plugin/dna_test.py::test_dna_ PASSED suites/ds_logs/ds_logs_test.py::test_ds_logs_init PASSED suites/ds_logs/ds_logs_test.py::test_ds_logs_ PASSED suites/dynamic-plugins/test_dynamic_plugins.py::test_dynamic_plugins PASSED suites/filter/filter_test.py::test_filter_init PASSED suites/filter/filter_test.py::test_filter_escaped PASSED suites/filter/filter_test.py::test_filter_search_original_attrs PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_supported_features PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0-*] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-False-oper_attr_list0-objectClass] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1-*] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[-True-oper_attr_list1-objectClass] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2-*] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-False-oper_attr_list2-objectClass] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-True-oper_attr_list3] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-True-oper_attr_lis
t3-*] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[ou=people,dc=example,dc=com-True-oper_attr_list3-objectClass] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-False-oper_attr_list4] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-False-oper_attr_list4-*] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-False-oper_attr_list4-objectClass] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-True-oper_attr_list5] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-True-oper_attr_list5-*] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[uid=all_attrs_test,ou=people,dc=example,dc=com-True-oper_attr_list5-objectClass] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6-*] PASSED suites/filter/rfc3673_all_oper_attrs_test.py::test_search_basic[cn=config-False-oper_attr_list6-objectClass] PASSED suites/get_effective_rights/ger_test.py::test_ger_init PASSED suites/get_effective_rights/ger_test.py::test_ger_ PASSED suites/gssapi_repl/gssapi_repl_test.py::test_gssapi_repl PASSED suites/ldapi/ldapi_test.py::test_ldapi_init PASSED suites/ldapi/ldapi_test.py::test_ldapi_ PASSED suites/linkedattrs_plugin/linked_attrs_test.py::test_linked_attrs_init PASSED suites/linkedattrs_plugin/linked_attrs_test.py::test_linked_attrs_ PASSED suites/mapping_tree/mapping_tree_test.py::test_mapping_tree_init PASSED suites/mapping_tree/mapping_tree_test.py::test_mapping_tree_ PASSED suites/memberof_plugin/memberof_test.py::test_memberof_auto_add_oc PASSED suites/memory_leaks/range_search_test.py::test_range_sear
ch_init PASSED suites/memory_leaks/range_search_test.py::test_range_search PASSED suites/monitor/monitor_test.py::test_monitor_init PASSED suites/monitor/monitor_test.py::test_monitor_ PASSED suites/paged_results/paged_results_test.py::test_search_success[6-5] PASSED suites/paged_results/paged_results_test.py::test_search_success[5-5] PASSED suites/paged_results/paged_results_test.py::test_search_success[5-25] PASSED suites/paged_results/paged_results_test.py::test_search_limits_fail[50-200-cn=config,cn=ldbm database,cn=plugins,cn=config-nsslapd-idlistscanlimit-100-UNWILLING_TO_PERFORM] PASSED suites/paged_results/paged_results_test.py::test_search_limits_fail[5-15-cn=config-nsslapd-timelimit-20-UNAVAILABLE_CRITICAL_EXTENSION] PASSED suites/paged_results/paged_results_test.py::test_search_limits_fail[21-50-cn=config-nsslapd-sizelimit-20-SIZELIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_limits_fail[21-50-cn=config-nsslapd-pagedsizelimit-5-SIZELIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_limits_fail[5-50-cn=config,cn=ldbm database,cn=plugins,cn=config-nsslapd-lookthroughlimit-20-ADMINLIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_sort_success PASSED suites/paged_results/paged_results_test.py::test_search_abandon PASSED suites/paged_results/paged_results_test.py::test_search_with_timelimit PASSED suites/paged_results/paged_results_test.py::test_search_dns_ip_aci[dns = "localhost.localdomain"] PASSED suites/paged_results/paged_results_test.py::test_search_dns_ip_aci[ip = "::1" or ip = "127.0.0.1"] PASSED suites/paged_results/paged_results_test.py::test_search_multiple_paging PASSED suites/paged_results/paged_results_test.py::test_search_invalid_cookie[1000] PASSED suites/paged_results/paged_results_test.py::test_search_invalid_cookie[-1] PASSED suites/paged_results/paged_results_test.py::test_search_abandon_with_zero_size PASSED suites/paged_results/paged_results_test.py::test_search_pagedsizelimit_success PASSED suites
/paged_results/paged_results_test.py::test_search_nspagedsizelimit[5-15-PASS] PASSED suites/paged_results/paged_results_test.py::test_search_nspagedsizelimit[15-5-SIZELIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_paged_limits[conf_attr_values0-ADMINLIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_paged_limits[conf_attr_values1-PASS] PASSED suites/paged_results/paged_results_test.py::test_search_paged_user_limits[conf_attr_values0-ADMINLIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_paged_user_limits[conf_attr_values1-PASS] PASSED suites/paged_results/paged_results_test.py::test_ger_basic PASSED suites/paged_results/paged_results_test.py::test_multi_suffix_search FAILED suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_success[None] PASSED suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_success[-1] PASSED suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_success[1000] PASSED suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_failure[0] PASSED suites/paged_results/paged_results_test.py::test_maxsimplepaged_per_conn_failure[1] PASSED suites/pam_passthru_plugin/pam_test.py::test_pam_init PASSED suites/pam_passthru_plugin/pam_test.py::test_pam_ PASSED suites/passthru_plugin/passthru_test.py::test_passthru_init PASSED suites/passthru_plugin/passthru_test.py::test_passthru_ PASSED suites/password/password_test.py::test_password_init PASSED suites/password/password_test.py::test_password_delete_specific_password PASSED suites/password/pwdAdmin_test.py::test_pwdAdmin_init PASSED suites/password/pwdAdmin_test.py::test_pwdAdmin PASSED suites/password/pwdAdmin_test.py::test_pwdAdmin_config_validation PASSED suites/password/pwdPolicy_attribute_test.py::test_change_pwd[on-off-UNWILLING_TO_PERFORM] PASSED suites/password/pwdPolicy_attribute_test.py::test_change_pwd[off-off-UNWILLING_TO_PERFORM] PASSED suites/password/pwdPolicy_attribute_test.py
::test_change_pwd[off-on-None] PASSED suites/password/pwdPolicy_attribute_test.py::test_change_pwd[on-on-None] PASSED suites/password/pwdPolicy_attribute_test.py::test_pwd_min_age PASSED suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_no_restrictions[off-off] PASSED suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_no_restrictions[on-off] PASSED suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_no_restrictions[off-on] PASSED suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_restrictions[cn=config] PASSED suites/password/pwdPolicy_inherit_global_test.py::test_entry_has_restrictions[cn="cn=nsPwPolicyEntry,ou=People,dc=example,dc=com",cn=nsPwPolicyContainer,ou=People,dc=example,dc=com] PASSED suites/password/pwdPolicy_syntax_test.py::test_pwdPolicy_syntax PASSED suites/password/pwdPolicy_warning_test.py::test_different_values[ ] PASSED suites/password/pwdPolicy_warning_test.py::test_different_values[junk123] PASSED suites/password/pwdPolicy_warning_test.py::test_different_values[on] PASSED suites/password/pwdPolicy_warning_test.py::test_different_values[off] PASSED suites/password/pwdPolicy_warning_test.py::test_expiry_time PASSED suites/password/pwdPolicy_warning_test.py::test_password_warning[passwordSendExpiringTime-off] PASSED suites/password/pwdPolicy_warning_test.py::test_password_warning[passwordWarning-3600] PASSED suites/password/pwdPolicy_warning_test.py::test_with_different_password_states PASSED suites/password/pwdPolicy_warning_test.py::test_default_behavior PASSED suites/password/pwdPolicy_warning_test.py::test_with_local_policy PASSED suites/password/pwp_history_test.py::test_pwp_history_test PASSED suites/posix_winsync_plugin/posix_winsync_test.py::test_posix_winsync_init PASSED suites/posix_winsync_plugin/posix_winsync_test.py::test_posix_winsync_ PASSED suites/psearch/psearch_test.py::test_psearch_init PASSED suites/psearch/psearch_test.py::test_psearch_ PASSED suites/referint_plugin/referint_test.py::test_referint_init PASSED suites/ref
erint_plugin/referint_test.py::test_referint_ PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_init PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_clean PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_clean_restart PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_clean_force PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_abort PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_abort_restart PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_abort_certify PASSED suites/replication/cleanallruv_test.py::test_cleanallruv_stress_clean PASSED suites/replication/wait_for_async_feature_test.py::test_not_int_value PASSED suites/replication/wait_for_async_feature_test.py::test_multi_value PASSED suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr0] PASSED suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr1] PASSED suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr2] PASSED suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr3] PASSED suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr0] PASSED suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr1] PASSED suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr2] PASSED suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr3] PASSED suites/replsync_plugin/repl_sync_test.py::test_repl_sync_init PASSED suites/replsync_plugin/repl_sync_test.py::test_repl_sync_ PASSED suites/resource_limits/res_limits_test.py::test_res_limits_init PASSED suites/resource_limits/res_limits_test.py::test_res_limits_ PASSED suites/retrocl_plugin/retrocl_test.py::test_retrocl_init PASSED suites/retrocl_plugin/retrocl_test.py::test_retrocl_ PASSED suites/reverpwd_plugin/reverpwd_test.py::test_rever
pwd_init PASSED suites/reverpwd_plugin/reverpwd_test.py::test_reverpwd_ PASSED suites/roles_plugin/roles_test.py::test_roles_init PASSED suites/roles_plugin/roles_test.py::test_roles_ PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_init PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_specific_time PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_day_of_week PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_denied_ip PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_denied_host PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_allowed_ip PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_access_allowed_host PASSED suites/rootdn_plugin/rootdn_plugin_test.py::test_rootdn_config_validate PASSED suites/sasl/sasl_test.py::test_sasl_init PASSED suites/sasl/sasl_test.py::test_sasl_ PASSED suites/schema/test_schema.py::test_schema_comparewithfiles PASSED suites/schema_reload_plugin/schema_reload_test.py::test_schema_reload_init PASSED suites/schema_reload_plugin/schema_reload_test.py::test_schema_reload_ PASSED suites/snmp/snmp_test.py::test_snmp_init PASSED suites/snmp/snmp_test.py::test_snmp_ PASSED suites/ssl/ssl_test.py::test_ssl_init PASSED suites/ssl/ssl_test.py::test_ssl_ PASSED suites/syntax_plugin/syntax_test.py::test_syntax_init PASSED suites/syntax_plugin/syntax_test.py::test_syntax_ PASSED suites/usn_plugin/usn_test.py::test_usn_init PASSED suites/usn_plugin/usn_test.py::test_usn_ PASSED suites/views_plugin/views_test.py::test_views_init PASSED suites/views_plugin/views_test.py::test_views_ PASSED suites/vlv/vlv_test.py::test_vlv_init PASSED suites/vlv/vlv_test.py::test_vlv_ PASSED suites/whoami_plugin/whoami_test.py::test_whoami_init PASSED suites/whoami_plugin/whoami_test.py::test_whoami_ PASSED ==================================== ERRORS ==================================== ___________________ ERROR at teardown of test_ticket48226_1 ____________________ def fin(): master1.delete(
) master2.delete() sbin_dir = master2.get_sbin_dir() if not master2.has_asan(): > valgrind_disable(sbin_dir) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48226_test.py>:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sbin_dir = '/usr/sbin' def valgrind_disable(sbin_dir): ''' Restore the ns-slapd binary to its original state - the server instances are expected to be stopped. Note - selinux is enabled at the end of this process. :param sbin_dir - the location of the ns-slapd binary (e.g. /usr/sbin) :raise ValueError :raise EnvironmentError: If script is not run as 'root' ''' if os.geteuid() != 0: log.error('This script must be run as root to use valgrind') raise EnvironmentError nsslapd_orig = '%s/ns-slapd' % sbin_dir nsslapd_backup = '%s/ns-slapd.original' % sbin_dir # Restore the original ns-slapd try: shutil.copyfile(nsslapd_backup, nsslapd_orig) except IOError as e: log.fatal('valgrind_disable: failed to restore ns-slapd, error: %s' % e.strerror) > raise ValueError('failed to restore ns-slapd, error: %s' % e.strerror) E ValueError: failed to restore ns-slapd, error: Text file busy <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/utils.py>:288: ValueError ----------------------------- Captured stderr call ----------------------------- CRITICAL:lib389.utils:valgrind_enable(): failed to copy valgrind wrapper to ns-slapd, error: Text file busy --------------------------- Captured stdout teardown --------------------------- Instance slapd-master_1 removed. Instance slapd-master_2 removed. --------------------------- Captured stderr teardown --------------------------- CRITICAL:lib389.utils:valgrind_disable: failed to restore ns-slapd, error: Text file busy =================================== FAILURES =================================== ______________________________ test_ticket1347760 ______________________________ topology = <tickets.ticket1347760_test.Topol
ogyStandalone object at 0x7fe6221e3210> def test_ticket1347760(topology): """ Prevent revealing the entry info to whom has no access rights. """ log.info('Testing Bug 1347760 - Information disclosure via repeated use of LDAP ADD operation, etc.') log.info('Disabling accesslog logbuffering') topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-accesslog-logbuffering', 'off')]) log.info('Bind as {%s,%s}' % (DN_DM, PASSWORD)) topology.standalone.simple_bind_s(DN_DM, PASSWORD) log.info('Adding ou=%s a bind user belongs to.' % BOU) topology.standalone.add_s(Entry((BINDOU, { 'objectclass': 'top organizationalunit'.split(), 'ou': BOU}))) log.info('Adding a bind user.') topology.standalone.add_s(Entry((BINDDN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': 'bind user', 'sn': 'user', 'userPassword': BINDPW}))) log.info('Adding a test user.') topology.standalone.add_s(Entry((TESTDN, {'objectclass': "top person organizationalPerson inetOrgPerson".split(), 'cn': 'test user', 'sn': 'user', 'userPassword': TESTPW}))) log.info('Deleting aci in %s.' % DEFAULT_SUFFIX) topology.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_DELETE, 'aci', None)]) log.info('Bind case 1. the bind user has no rights to read the entry itself, bind should be successful.') log.info('Bind as {%s,%s} who has no access rights.' % (BINDDN, BINDPW)) try: topology.standalone.simple_bind_s(BINDDN, BINDPW) except ldap.LDAPError as e: log.info('Desc ' + e.message['desc']) assert False file_path = os.path.join(topology.standalone.prefix, 'var/log/dirsrv/slapd-%s/access' % topology.standalone.serverid) > file_obj = open(file_path, "r") E IOError: [Errno 2] No such file or directory: '/usr/var/log/dirsrv/slapd-standalone/access' tickets/ticket1347760_test.py:236: IOError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket1347760_test:Testing Bug 
1347760 - Information disclosure via repeated use of LDAP ADD operation, etc. INFO:tickets.ticket1347760_test:Disabling accesslog logbuffering INFO:tickets.ticket1347760_test:Bind as {cn=Directory Manager,password} INFO:tickets.ticket1347760_test:Adding ou=BOU a bind user belongs to. INFO:tickets.ticket1347760_test:Adding a bind user. INFO:tickets.ticket1347760_test:Adding a test user. INFO:tickets.ticket1347760_test:Deleting aci in dc=example,dc=com. INFO:tickets.ticket1347760_test:Bind case 1. the bind user has no rights to read the entry itself, bind should be successful. INFO:tickets.ticket1347760_test:Bind as {uid=buser123,ou=BOU,dc=example,dc=com,buser123} who has no access rights. ______________________________ test_ticket47431_1 ______________________________ topology = <tickets.ticket47431_test.TopologyStandalone object at 0x7fe621965a90> def test_ticket47431_1(topology): ''' nsslapd-pluginarg0: uid nsslapd-pluginarg1: mail nsslapd-pluginarg2: userpassword <== repeat 27 times nsslapd-pluginarg3: , nsslapd-pluginarg4: dc=example,dc=com The duplicated values are removed by str2entry_dupcheck as follows: [..] - str2entry_dupcheck: 27 duplicate values for attribute type nsslapd-pluginarg2 detected in entry cn=7-bit check,cn=plugins,cn=config. Extra values ignored. ''' log.info("Ticket 47431 - 1: Check 26 duplicate values are treated as one...") expected = "str2entry_dupcheck - . .. .cache duplicate values for attribute type nsslapd-pluginarg2 detected in entry cn=7-bit check,cn=plugins,cn=config." log.debug('modify_s %s' % DN_7BITPLUGIN) try: topology.standalone.modify_s(DN_7BITPLUGIN, [(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', "uid"), (ldap.MOD_REPLACE, 'nsslapd-pluginarg1', "mail"), (ldap.MOD_REPLACE, 'nsslapd-pluginarg2', "userpassword"), (ldap.MOD_REPLACE, 'nsslapd-pluginarg3', ","), (ldap.MOD_REPLACE, 'nsslapd-pluginarg4', SUFFIX)]) except ValueError: log.error('modify failed: Some problem occured with a value that was provided') assert False arg2 = "nsslapd-pluginarg2: userpassword" topology.standalone.
stop(timeout=10) dse_ldif = topology.standalone.confdir + '/dse.ldif' os.system('mv %s %s.47431' % (dse_ldif, dse_ldif)) os.system('sed -e "s/\\(%s\\)/\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1\\n\\1/" %s.47431 > %s' % (arg2, dse_ldif, dse_ldif)) topology.standalone.start(timeout=10) cmdline = 'egrep -i "%s" %s' % (expected, topology.standalone.errlog) p = os.popen(cmdline, "r") line = p.readline() if line == "": log.error('Expected error "%s" not logged in %s' % (expected, topology.standalone.errlog)) > assert False E assert False tickets/ticket47431_test.py:110: AssertionError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47431_test:Ticket 47431 - 1: Check 26 duplicate values are treated as one... DEBUG:tickets.ticket47431_test:modify_s cn=7-bit check,cn=plugins,cn=config grep: /var/log/dirsrv/slapd-standalone/error: No such file or directory ERROR:tickets.ticket47431_test:Expected error "str2entry_dupcheck - . .. .cache duplicate values for attribute type nsslapd-pluginarg2 detected in entry cn=7-bit check,cn=plugins,cn=config." not logged in /var/log/dirsrv/slapd-standalone/error _______________________________ test_ticket47462 _______________________________ topology = <tickets.ticket47462_test.TopologyMaster1Master2 object at 0x7fe62173d390> def test_ticket47462(topology): """ Test that AES properly replaces DES during an update/restart, and that replication also works correctly. """ # # First set config as if it's an older version. Set DES to use # libdes-plugin, MMR to depend on DES, delete the existing AES plugin, # and set a DES password for the replication agreement. # # Add an extra attribute to the DES plugin args # try: topology.master1.modify_s(DES_PLUGIN, [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on')]) except ldap.LDAPError as e: log.fatal('Failed to enable DES plugin, error: ' + e.message['desc']) assert False try: topology.maste
r1.modify_s(DES_PLUGIN, [(ldap.MOD_ADD, 'nsslapd-pluginarg2', 'description')]) except ldap.LDAPError as e: log.fatal('Failed to reset DES plugin, error: ' + e.message['desc']) assert False try: topology.master1.modify_s(MMR_PLUGIN, [(ldap.MOD_DELETE, 'nsslapd-plugin-depends-on-named', 'AES')]) except ldap.NO_SUCH_ATTRIBUTE: pass except ldap.LDAPError as e: log.fatal('Failed to reset MMR plugin, error: ' + e.message['desc']) assert False # # Delete the AES plugin # try: topology.master1.delete_s(AES_PLUGIN) except ldap.NO_SUCH_OBJECT: pass except ldap.LDAPError as e: log.fatal('Failed to delete AES plugin, error: ' + e.message['desc']) assert False # restart the server so we must use DES plugin topology.master1.restart(timeout=10) # # Get the agmt dn, and set the password # try: entry = topology.master1.search_s('cn=config', ldap.SCOPE_SUBTREE, 'objectclass=nsDS5ReplicationAgreement') if entry: agmt_dn = entry[0].dn log.info('Found agmt dn (%s)' % agmt_dn) else: log.fatal('No replication agreements!') assert False except ldap.LDAPError as e: log.fatal('Failed to search for replica credentials: ' + e.message['desc']) assert False try: properties = {RA_BINDPW: "password"} topology.master1.agreement.setProperties(None, agmt_dn, None, properties) log.info('Successfully modified replication agreement') except ValueError: log.error('Failed to update replica agreement: ' + AGMT_DN) assert False # # Check replication works with the new DES password # try: topology.master1.add_s(Entry((USER1_DN, {'objectclass': "top person".split(), 'sn': 'sn', 'description': 'DES value to convert', 'cn': 'test_user'}))) loop = 0 ent = None while loop <= 10: try: ent = topology.master2.getEntry(USER1_DN, ldap.SCOPE_BASE, "(objectclass=*)") break except ldap.NO_SUCH_OBJECT: time.sleep(1) loop += 1 if not ent: log.fatal('Replication test failed fo user1!') assert False else: log.info('Replication test passed') except ldap.LDAPError as e: log.fatal('Failed to add test user: ' + e.message['desc']) assert False # # Add a backend (that has no en
tries) # try: topology.master1.backend.create("o=empty", {BACKEND_NAME: "empty"}) except ldap.LDAPError as e: log.fatal('Failed to create extra/empty backend: ' + e.message['desc']) assert False # # Run the upgrade... # > topology.master1.upgrade('online') tickets/ticket47462_test.py:269: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:2500: in upgrade DirSrvTools.runUpgrade(self.prefix, online) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ prefix = '/usr', online = True @staticmethod def runUpgrade(prefix, online=True): ''' Run "setup-ds.pl --update" We simply pass in one DirSrv isntance, and this will update all the instances that are in this prefix. For the update to work we must fix/adjust the permissions of the scripts in: /prefix/lib[64]/dirsrv/slapd-INSTANCE/ ''' if not prefix: prefix = '' # This is an RPM run - check if /lib exists, if not use /lib64 if os.path.isdir('/usr/lib/dirsrv'): libdir = '/usr/lib/dirsrv/' else: if os.path.isdir('/usr/lib64/dirsrv'): libdir = '/usr/lib64/dirsrv/' else: log.fatal('runUpgrade: failed to find slapd lib dir!') assert False else: # Standard prefix lib location if os.path.isdir('/usr/lib64/dirsrv'): libdir = '/usr/lib64/dirsrv/' else: libdir = '/lib/dirsrv/' # Gather all the instances so we can adjust the permissions, otherwise servers = [] path = prefix + '/etc/dirsrv' > for files in os.listdir(path): E OSError: [Errno 2] No such file or directory: '/usr/etc/dirsrv' ../../../lib389/lib389/tools.py:932: OSError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ('Update succeeded: status ', '0 Total update succeeded') ---------------------------- Captured stderr setup ----------------------------- INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top
 objectClass: person sn: bind dn pseudo user userPassword: {SSHA512}yBU1El8P16znY+UM18WcXejQHrTBIbjWMGsyRyuwvwwRqiwbcfWGfOcByDr3iUHrvROlXe+PvFuQpcaS8xXw5wa9b+pGBle4 INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: {SSHA512}9z92i0bM/5UAEFAgJWA3dPfm7WWVpHog0zpBBmE9jSMe3yUz5ERHjyNUiKdyzFgii6bzDbuGd54KNlz4nQdrCV/P0bm84Q1Q DEBUG:tickets.ticket47462_test:cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config created INFO:lib389:Starting total init cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:tickets.ticket47462_test:Replication is working. ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47462_test:Found agmt dn (cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config) INFO:tickets.ticket47462_test:Successfully modified replication agreement INFO:tickets.ticket47462_test:Replication test passed INFO:lib389:List backend with suffix=o=empty INFO:lib389:Creating a local backend INFO:lib389:List backend cn=empty,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=empty,cn=ldbm database,cn=plugins,cn=config cn: empty nsslapd-cachememsize: 10485760 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-master_1/db/empty nsslapd-dncachememsize: 10485760 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=empty objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance _______________________________ test_ticket47536 _______________________________ topology = <tickets.ticket47536_test.TopologyReplication object at 0x7fe621958ed0> def test_ticket47536(topology): """ Set up 2way MMR: master_1 ----- startTLS -----> master_2 master_1 <-- TLS_clientAuth -- master_2 Check CA cert, Server-Cert and Key are retrieved as PEM from cert db when the server is started.
 First, the file names are not specified and the default names derived from the cert nicknames. Next, the file names are specified in the encryption config entries. Each time add 5 entries to master 1 and 2 and check they are replicated. """ log.info("Ticket 47536 - Allow usage of OpenLDAP libraries that don't use NSS for crypto") create_keys_certs(topology) config_tls_agreements(topology) add_entry(topology.master1, 'master1', 'uid=m1user', 0, 5) add_entry(topology.master2, 'master2', 'uid=m2user', 0, 5) time.sleep(1) log.info('##### Searching for entries on master1...') entries = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, '(uid=*)') assert 10 == len(entries) log.info('##### Searching for entries on master2...') entries = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, '(uid=*)') > assert 10 == len(entries) E assert 10 == 5 E + where 5 = len([dn: uid=m2user0,dc=example,dc=com\ncn: master2 user0\nobjectClass: top\nobjectClass: person\nobjectClass: extensibleObjec...er2 user4\nobjectClass: top\nobjectClass: person\nobjectClass: extensibleObject\nsn: user4\nuid: uid=m2user4\nuid: m2user4\n\n]) tickets/ticket47536_test.py:494: AssertionError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ('Update succeeded: status ', '0 Total update succeeded') ---------------------------- Captured stderr setup ----------------------------- INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: {SSHA512}B36hxtXWscu65K2K8aTbIXNZBk6czeyj64cskO0JNiiVndf0TjcmMGhLAi2ZEzwpYgezf1h1dRsiZao4Z4+0cX7vNuIjO5eB INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: {SSHA512
}+ETPh9zgAIdTrX8h2UgfoAB/6/yUyZA+dpogyvnAOGe9h1HuWnNOcVS490lfVHK5M8epHYNwvoDMvJ31/p3iXHdbghK8oUQa DEBUG:tickets.ticket47536_test:cn=meTo_localhost.localdomain:38942,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config created DEBUG:tickets.ticket47536_test:cn=meTo_localhost.localdomain:38941,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config created INFO:lib389:Starting total init cn=meTo_localhost.localdomain:38942,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:tickets.ticket47536_test:Replication is working. ----------------------------- Captured stdout call ----------------------------- Is this a CA certificate [y/N]? Enter the path length constraint, enter to skip [<0 for unlimited path]: > Is this a critical extension [y/N]? pk12util: PKCS12 EXPORT SUCCESSFUL pk12util: PKCS12 IMPORT SUCCESSFUL ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47536_test:Ticket 47536 - Allow usage of OpenLDAP libraries that don't use NSS for crypto INFO:tickets.ticket47536_test: ######################### Creating SSL Keys and Certs ###################### INFO:tickets.ticket47536_test:##### shutdown master1 INFO:tickets.ticket47536_test:##### Creating a password file INFO:tickets.ticket47536_test:##### create the pin file INFO:tickets.ticket47536_test:##### Creating a noise file INFO:tickets.ticket47536_test:##### Create key3.db and cert8.db database (master1): ['certutil', '-N', '-d', '/etc/dirsrv/slapd-master_1', '-f', '/etc/dirsrv/slapd-master_1/pwdfile.txt'] INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### Creating encryption key for CA (master1): ['certutil', '-G', '-d', '/etc/dirsrv/slapd-master_1', '-z', '/etc/dirsrv/slapd-master_1/noise.txt', '-f', '/etc/dirsrv/slapd-master_1/pwdfile.txt'] INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### Creating self-signed CA certificate (master1) -- nickname CAcertificate 
Generating key. This may take a few moments... INFO:tickets.ticket47536_test:##### Creating Server certificate -- nickname Server-Cert1: ['certutil', '-S', '-n', 'Server-Cert1', '-s', 'CN=localhost.localdomain,OU=389 Directory Server', '-c', 'CAcertificate', '-t', ',,', '-m', '1001', '-v', '120', '-d', '/etc/dirsrv/slapd-master_1', '-z', '/etc/dirsrv/slapd-master_1/noise.txt', '-f', '/etc/dirsrv/slapd-master_1/pwdfile.txt'] INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### Creating Server certificate -- nickname Server-Cert2: ['certutil', '-S', '-n', 'Server-Cert2', '-s', 'CN=localhost.localdomain,OU=390 Directory Server', '-c', 'CAcertificate', '-t', ',,', '-m', '1002', '-v', '120', '-d', '/etc/dirsrv/slapd-master_1', '-z', '/etc/dirsrv/slapd-master_1/noise.txt', '-f', '/etc/dirsrv/slapd-master_1/pwdfile.txt'] INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### start master1 INFO:tickets.ticket47536_test:##### enable SSL in master1 with all ciphers INFO:tickets.ticket47536_test: ######################### Enabling SSL LDAPSPORT 41636 ###################### INFO:tickets.ticket47536_test:##### Check the cert db: ['certutil', '-L', '-d', '/etc/dirsrv/slapd-master_1'] INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: INFO:tickets.ticket47536_test: Certificate Nickname Trust Attributes INFO:tickets.ticket47536_test: SSL,S/MIME,JAR/XPI INFO:tickets.ticket47536_test: INFO:tickets.ticket47536_test: CAcertificate CTu,u,u INFO:tickets.ticket47536_test: Server-Cert2 u,u,u INFO:tickets.ticket47536_test: Server-Cert1 u,u,u INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### restart master1 INFO:tickets.ticket47536_test:##### Check PEM files of master1 (before setting nsslapd-extract-pemfiles INFO:tickets.ticket47536_test: ######################### Check PEM files (CAcertificate, Server-Cert1, Server-Cert1-Key) not in /etc/dirsrv/slapd-master_1 ###################### INFO:ticket
s.ticket47536_test:/etc/dirsrv/slapd-master_1/CAcertificate.pem is correctly not generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/Server-Cert1.pem is correctly not generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/Server-Cert1-Key.pem is correctly not generated. INFO:tickets.ticket47536_test:##### Set on to nsslapd-extract-pemfiles INFO:tickets.ticket47536_test:##### restart master1 INFO:tickets.ticket47536_test:##### Check PEM files of master1 (after setting nsslapd-extract-pemfiles INFO:tickets.ticket47536_test: ######################### Check PEM files (CAcertificate, Server-Cert1, Server-Cert1-Key) in /etc/dirsrv/slapd-master_1 ###################### INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/CAcertificate.pem is successfully generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/Server-Cert1.pem is successfully generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_1/Server-Cert1-Key.pem is successfully generated. INFO:tickets.ticket47536_test:##### Extract PK12 file for master2: pk12util -o /tmp/Server-Cert2.pk12 -n "Server-Cert2" -d /etc/dirsrv/slapd-master_1 -w /etc/dirsrv/slapd-master_1/pwdfile.txt -k /etc/dirsrv/slapd-master_1/pwdfile.txt INFO:tickets.ticket47536_test:##### Check PK12 files INFO:tickets.ticket47536_test:/tmp/Server-Cert2.pk12 is successfully extracted. INFO:tickets.ticket47536_test:##### stop master2 INFO:tickets.ticket47536_test:##### Initialize Cert DB for master2 INFO:tickets.ticket47536_test:##### Create key3.db and cert8.db database (master2): ['certutil', '-N', '-d', '/etc/dirsrv/slapd-master_2', '-f', '/etc/dirsrv/slapd-master_1/pwdfile.txt'] INFO:tickets.ticket47536_test: OUT: INFO:tickets.ticket47536_test: ERR: INFO:tickets.ticket47536_test:##### Import certs to master2 INFO:tickets.ticket47536_test:Importing CAcertificate INFO:tickets.ticket47536_test:##### Importing Server-Cert2 to master2: pk12util -i /tmp/Server-Cert2.pk12 -n "Server-Cert2" -d /etc/dirsrv/slapd-master_2 -w /etc/dirsrv/slapd-master_1/
pwdfile.txt -k /etc/dirsrv/slapd-master_1/pwdfile.txt INFO:tickets.ticket47536_test:copy /etc/dirsrv/slapd-master_1/pin.txt to /etc/dirsrv/slapd-master_2/pin.txt INFO:tickets.ticket47536_test:##### start master2 INFO:tickets.ticket47536_test:##### enable SSL in master2 with all ciphers INFO:tickets.ticket47536_test: ######################### Enabling SSL LDAPSPORT 42636 ###################### INFO:tickets.ticket47536_test:##### restart master2 INFO:tickets.ticket47536_test:##### Check PEM files of master2 (before setting nsslapd-extract-pemfiles INFO:tickets.ticket47536_test: ######################### Check PEM files (CAcertificate, Server-Cert2, Server-Cert2-Key) not in /etc/dirsrv/slapd-master_2 ###################### INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/CAcertificate.pem is correctly not generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/Server-Cert2.pem is correctly not generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/Server-Cert2-Key.pem is correctly not generated. INFO:tickets.ticket47536_test:##### Set on to nsslapd-extract-pemfiles INFO:tickets.ticket47536_test:##### restart master2 INFO:tickets.ticket47536_test:##### Check PEM files of master2 (after setting nsslapd-extract-pemfiles INFO:tickets.ticket47536_test: ######################### Check PEM files (CAcertificate, Server-Cert2, Server-Cert2-Key) in /etc/dirsrv/slapd-master_2 ###################### INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/CAcertificate.pem is successfully generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/Server-Cert2.pem is successfully generated. INFO:tickets.ticket47536_test:/etc/dirsrv/slapd-master_2/Server-Cert2-Key.pem is successfully generated. INFO:tickets.ticket47536_test:##### restart master1 INFO:tickets.ticket47536_test: ######################### Creating SSL Keys and Certs Done ###################### INFO:tickets.ticket47536_test:######################### Configure SSL/TLS agreements ###################### INFO:tickets.ticket47536_t
est:######################## master1 -- startTLS -> master2 ##################### INFO:tickets.ticket47536_test:##################### master1 <- tls_clientAuth -- master2 ################## INFO:tickets.ticket47536_test:##### Update the agreement of master1 INFO:tickets.ticket47536_test:##### Add the cert to the repl manager on master1 INFO:tickets.ticket47536_test:##### master2 Server Cert in base64 format: MIICyjCCAbKgAwIBAgICA+owDQYJKoZIhvcNAQELBQAwETEPMA0GA1UEAxMGQ0FjZXJ0MB4XDTE2MTEwMTIzMzYxNVoXDTI2MTEwMTIzMzYxNVowPzEdMBsGA1UECxMUMzkwIERpcmVjdG9yeSBTZXJ2ZXIxHjAcBgNVBAMTFWxvY2FsaG9zdC5sb2NhbGRvbWFpbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANCDDiOLtF84h40SCAsAJgg6CtOTECdmYXcMLI4i7hM6j5bj2k8g02XXrZmsVkFkD+ciX1xqKUm5rrRwFJZmtJpEPxtUSzFmEOwOD75KEHKYh/jata93H6hWvTDhn6I3WLzt3aNELecB0xX/m0l+dUiZGF9MzN5udzaeJ/IozTWxpWU2wz7rPhJ805UOBdFJfXACHu6sw1TDa9hqQDiYTPZQii1ipTDsOxVQTdS40i6rxxjKsm088A3ZvQySBJxM//LgDt89ELclr7oyVC+scM5RfRbdfcevXzn/yJGnNp/9sYN2p6V97ba/NoxFspG68W6pU4J6m2iX4ocS0GBHF+0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAdibqGxJQ6BrySx+JE4eoT8Ev2wqs1XXnqSmol+TFtyBY2Yh6QOrqHtU69/oFPxx4xu7vByMMKgrPC8XVTXpntJ2VH4clNg1oAwA1Oc42kqyHZj3DQCpWQZXz2kTQm8mcNAWSf/FvVLEx3DuIBjQ3gyKYi01HLxMXNk16MpZ8isRzzoI1XqwmwmbExpPLcsAVN4Lge6e9g+vBkISjFosItoK7CCtX88cOqm98mkUU0o6pBWewLuYGcZime/vMyH2GPiaNUzvHaCJIYiGEGVVgsKlwjb1uA1cu9dIUSKkYkIViZYVzdDO26OX7rnU2Vsw3QJdrHpgcmrDE/mIbi+0WZA== INFO:tickets.ticket47536_test:##### Replication manager on master1: cn=replrepl,cn=config INFO:tickets.ticket47536_test: ObjectClass: INFO:tickets.ticket47536_test: : top INFO:tickets.ticket47536_test: : person INFO:tickets.ticket47536_test:##### Modify the certmap.conf on master1 INFO:tickets.ticket47536_test:##### Update the agreement of master2 INFO:tickets.ticket47536_test: ######################### Configure SSL/TLS agreements Done ###################### INFO:tickets.ticket47536_test: ######################### Adding 5 entries to master1 ###################### INFO:tickets.ticket47536_test: ######################### Adding 5 entries to master2 ##################
#### INFO:tickets.ticket47536_test:##### Searching for entries on master1... INFO:tickets.ticket47536_test:##### Searching for entries on master2... ____________________________ test_ticket47619_init _____________________________ topology = Master[localhost.localdomain:38941] -> Consumer[localhost.localdomain:38961 def test_ticket47619_init(topology): """ Initialize the test environment """ topology.master.plugins.enable(name=PLUGIN_RETRO_CHANGELOG) #topology.master.plugins.enable(name=PLUGIN_MEMBER_OF) #topology.master.plugins.enable(name=PLUGIN_REFER_INTEGRITY) topology.master.stop(timeout=10) topology.master.start(timeout=10) topology.master.log.info("test_ticket47619_init topology %r" % (topology)) # the test case will check if a warning message is logged in the # error log of the supplier > topology.master.errorlog_file = open(topology.master.errlog, "r") E IOError: [Errno 2] No such file or directory: '/var/log/dirsrv/slapd-master_1/error' tickets/ticket47619_test.py:141: IOError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ('Update succeeded: status ', '0 Total update succeeded') ---------------------------- Captured stderr setup ----------------------------- INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: {SSHA512}CbdaFs5yJGG2lLFVeLY6ziH7GojjmOqaQDUp1YTAmgbd9KUJGHYgPx0DlajHHkSd5w9JiyX9G5PTYRe/riZZl3b4CELc6MdN INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: {SSHA512}rTkopdHr3mh+2tXyC6nrW+oSEEhxk9oIckagk7+Q0LpUtPg/1Ravihzh339ufAnSsk5f1w75kt/SDHCQDEU+8H8fyF9QDqDA DEBUG:tickets.ticket47619_test:cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn
=mapping tree,cn=config created INFO:lib389:Starting total init cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:tickets.ticket47619_test:Replication is working. ----------------------------- Captured stderr call ----------------------------- INFO:lib389:test_ticket47619_init topology Master[localhost.localdomain:38941] -> Consumer[localhost.localdomain:38961 ____________________________ test_ticket47669_init _____________________________ topology = <tickets.ticket47669_test.TopologyStandalone object at 0x7fe62201cc90> def test_ticket47669_init(topology): """ Add cn=changelog5,cn=config Enable cn=Retro Changelog Plugin,cn=plugins,cn=config """ log.info('Testing Ticket 47669 - Test duration syntax in the changelogs') # bind as directory manager topology.standalone.log.info("Bind as %s" % DN_DM) topology.standalone.simple_bind_s(DN_DM, PASSWORD) try: changelogdir = "%s/changelog" % topology.standalone.dbdir topology.standalone.add_s(Entry((CHANGELOG, {'objectclass': 'top extensibleObject'.split(), 'nsslapd-changelogdir': changelogdir}))) except ldap.LDAPError as e: log.error('Failed to add ' + CHANGELOG + ': error ' + e.message['desc']) assert False try: topology.standalone.modify_s(RETROCHANGELOG, [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on')]) except ldap.LDAPError as e: log.error('Failed to enable ' + RETROCHANGELOG + ': error ' + e.message['desc']) assert False # restart the server > topology.standalone.restart(timeout=10) tickets/ticket47669_test.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:1215: in restart self.start(timeout) ../../../lib389/lib389/__init__.py:1096: in start "dirsrv@%s" % self.serverid]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@standalone'],), kwargs = {} retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@standalone'] def check_call(*popenargs, **kwargs): """Run command wit
h 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 Popen constructor. 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 CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@standalone']' returned non-zero exit status 1 /usr/lib64/python2.7/subprocess.py:541: CalledProcessError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47669_test:Testing Ticket 47669 - Test duration syntax in the changelogs INFO:lib389:Bind as cn=Directory Manager Job for dirsrv@standalone.service failed because the control process exited with error code. See "systemctl status dirsrv@standalone.service" and "journalctl -xe" for details. ______________________ test_ticket47669_changelog_maxage _______________________ topology = <tickets.ticket47669_test.TopologyStandalone object at 0x7fe62201cc90> def test_ticket47669_changelog_maxage(topology): """ Test nsslapd-changelogmaxage in cn=changelog5,cn=config """ log.info('1. Test nsslapd-changelogmaxage in cn=changelog5,cn=config') # bind as directory manager topology.standalone.log.info("Bind as %s" % DN_DM) > topology.standalone.simple_bind_s(DN_DM, PASSWORD) tickets/ticket47669_test.py:159: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:223: in simple_bind_s resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwar
gs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:514: in result3 resp_ctrl_classes=resp_ctrl_classes ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:521: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe6216e2830> func = <built-in method result4 of LDAP object at 0x7fe622374eb8> args = (13, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47669_test:1. Test nsslapd-changelogmaxage in cn=changelog5,cn=config INFO:lib389:Bind as cn=Directory Manager ___________________ test_ticket47669_changelog_triminterval ____________________ topology = <tickets.ticket47669_test.TopologyStandalone object at 0x7fe62201cc90> def test_ticket47669_changelog_triminterval(topology): """ Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config """ log.info('2. Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config') # bind as directory manager topology.standalone.log.
info("Bind as %s" % DN_DM) > topology.standalone.simple_bind_s(DN_DM, PASSWORD) tickets/ticket47669_test.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:222: in simple_bind_s msgid = self.simple_bind(who,cred,serverctrls,clientctrls) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:216: in simple_bind return self._ldap_call(self._l.simple_bind,who,cred,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls)) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe6216e2830> func = <built-in method simple_bind of LDAP object at 0x7fe622374eb8> args = ('cn=Directory Manager', 'password', None, None), kwargs = {} diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47669_test:2. Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config INFO:lib389:Bind as cn=Directory Manager _________________ test_ticket47669_changelog_compactdbinterval ___
______________ topology = <tickets.ticket47669_test.TopologyStandalone object at 0x7fe62201cc90> def test_ticket47669_changelog_compactdbinterval(topology): """ Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config """ log.info('3. Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config') # bind as directory manager topology.standalone.log.info("Bind as %s" % DN_DM) > topology.standalone.simple_bind_s(DN_DM, PASSWORD) tickets/ticket47669_test.py:199: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:222: in simple_bind_s msgid = self.simple_bind(who,cred,serverctrls,clientctrls) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:216: in simple_bind return self._ldap_call(self._l.simple_bind,who,cred,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls)) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe6216e2830> func = <built-in method simple_bind of LDAP object at 0x7fe622374eb8> args = ('cn=Directory Manager', 'password', None, None), kwargs = {} diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact L
DAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47669_test:3. Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config INFO:lib389:Bind as cn=Directory Manager ____________________ test_ticket47669_retrochangelog_maxage ____________________ topology = <tickets.ticket47669_test.TopologyStandalone object at 0x7fe62201cc90> def test_ticket47669_retrochangelog_maxage(topology): """ Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config """ log.info('4. Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config') # bind as directory manager topology.standalone.log.info("Bind as %s" % DN_DM) > topology.standalone.simple_bind_s(DN_DM, PASSWORD) tickets/ticket47669_test.py:219: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:222: in simple_bind_s msgid = self.simple_bind(who,cred,serverctrls,clientctrls) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:216: in simple_bind return self._ldap_call(self._l.simple_bind,who,cred,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls)) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe6216e2830> func = <built-in method simple_bind of LDAP object at 0x7fe622374eb8> args = ('cn=Directory Manager', 'password', None, None), kwargs = {} diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket47669_test:4. Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config INFO:lib389:Bind as cn=Directory Manager ____________________________ test_ticket47823_init _____________________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_init(topology): """ """ # Enabled the plugins topology.standalone.plugins.enable(name=PLUGIN_ATTR_UNIQUENESS) topology.standalone.restart(timeout=120) topology.standalone.add_s(Entry((PROVISIONING_DN, {'objectclass': "top nscontainer".split(), 'cn': PROVISIONING_CN}))) topology.standalone.add_s(Entry((ACTIVE_DN, {'objectclass': "top nscontainer".split(), 'cn': ACTIVE_CN}))) topology.standalone.add_s(Entry((STAGE_DN, {'objectclass': "top nscontainer".split(), 'cn': STAGE_CN}))) topology.standalone.add_s(Entry((DELETE_DN, {'objectclass': "top nscontainer".split(), 'cn': DELETE_CN}))) > topology.standalone.errorlog_file = open(topology.standalone.errlog, "r") E IOError: [Errno 2] No such file or directory: '/var/log/dirsrv/slapd-standalone/error' tickets/ticket47823_test.py:477: IOError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ______________________ test_ticket47823_one_container_add ______________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_one_container_add(topology): ''' Check uniqueness in
 a single container Add and entry with a given 'cn', then check we can not add an entry with the same 'cn' value ''' _header(topology, "With former config (args), check attribute uniqueness with 'cn' (ADD) ") _active_container_add(topology, type_config='old') _header(topology, "With new config (args), check attribute uniqueness with 'cn' (ADD) ") > _active_container_add(topology, type_config='new') tickets/ticket47823_test.py:497: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:195: in _active_container_add topology.standalone.restart(timeout=120) ../../../lib389/lib389/__init__.py:1215: in restart self.start(timeout) ../../../lib389/lib389/__init__.py:1096: in start "dirsrv@%s" % self.serverid]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@standalone'],), kwargs = {} retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@standalone'] 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 Popen constructor. 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 CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@standalone']' returned non-zero exit status 1 /usr/lib64/python2.7/subprocess.py:541: CalledProcessError ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (ADD) INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: 
create the entries INFO:lib389:Uniqueness enforced: checks second entry is rejected INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (ADD) INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: create the entries INFO:lib389:Uniqueness enforced: checks second entry is rejected Job for dirsrv@standalone.service failed. See "systemctl status dirsrv@standalone.service" and "journalctl -xe" for details. ______________________ test_ticket47823_one_container_mod ______________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_one_container_mod(topology): ''' Check uniqueness in a single container Add and entry with a given 'cn', then check we can not modify an entry with the same 'cn' value ''' _header(topology, "With former config (args), check attribute uniqueness with 'cn' (MOD)") > _active_container_mod(topology, type_config='old') tickets/ticket47823_test.py:508: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:222: in _active_container_mod config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config=type_config, across_subtrees=False) tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1574: in getEntry restype, obj = self.result(res) ../../../lib389/lib389/__init__.py:127: in inner objtype, data = f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:503: in result resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:507: in result2 resp_type, resp_dat
a, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:514: in result3 resp_ctrl_classes=resp_ctrl_classes ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:521: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method result4 of LDAP object at 0x7fe6223748a0> args = (7, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MOD) INFO:lib389:####### INFO:lib389:############################################### ____________________ test_ticket47823_one_container_modrdn _____________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def t
est_ticket47823_one_container_modrdn(topology): ''' Check uniqueness in a single container Add and entry with a given 'cn', then check we can not modrdn an entry with the same 'cn' value ''' _header(topology, "With former config (args), check attribute uniqueness with 'cn' (MODRDN)") > _active_container_modrdn(topology, type_config='old') tickets/ticket47823_test.py:523: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:264: in _active_container_modrdn config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config=type_config, across_subtrees=False) tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MODRDN) INFO:lib389:####### INFO:lib389:############################################### ____________________ test_ticket47823_multi_containers_add _____________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_multi_containers_add(topology): ''' Check uniqueness in a several containers Add and entry with a given 'cn', then check we can not add an entry with the same 'cn' value ''' _header(topology, "With former config (args), check attribute uniqueness with 'cn' (ADD) ") > _active_stage_containers_add(topology, type_config='old', across_subtrees=False) tickets/ticket47823_test.py:538: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:302: in _active_stage_containers_add config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, across_subtrees=False) tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner 
return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (ADD) INFO:lib389:####### INFO:lib389:############################################### ____________________ test_ticket47823_multi_containers_mod _____________________ topology = <tickets.ticket47823_test.T
opologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_multi_containers_mod(topology): ''' Check uniqueness in a several containers Add an entry on a container with a given 'cn', then check we CAN mod an entry with the same 'cn' value on the other container ''' _header(topology, "With former config (args), check attribute uniqueness with 'cn' (MOD) on separated container") topology.standalone.log.info('Uniqueness not enforced: if same \'cn\' modified (add/replace) on separated containers') > _active_stage_containers_mod(topology, type_config='old', across_subtrees=False) tickets/ticket47823_test.py:554: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:332: in _active_stage_containers_mod config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, across_subtrees=False) tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnab
led', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MOD) on separated container INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: if same 'cn' modified (add/replace) on separated containers ___________________ test_ticket47823_multi_containers_modrdn ___________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_multi_containers_modrdn(topology): ''' Check uniqueness in a several containers Add and entry with a given 'cn', then check we CAN modrdn an entry with the same 'cn' value on the other container ''' _header(topology, "With former config (args), check attribute uniqueness with 'cn' (MODRDN) on separated containers") topology.standalone.log.info('Uniqueness not enforced: checks MODRDN entry is accepted on separated containers') > _active_stage_containers_modrdn(topology, type_config='old', across_subtrees=False) tickets/ticket47823_test.py:571: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
 _ tickets/ticket47823_test.py:379: in _active_stage_containers_modrdn config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, across_subtrees=False) tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't co
ntact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With former config (args), check attribute uniqueness with 'cn' (MODRDN) on separated containers INFO:lib389:####### INFO:lib389:############################################### INFO:lib389:Uniqueness not enforced: checks MODRDN entry is accepted on separated containers _________________ test_ticket47823_across_multi_containers_add _________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_across_multi_containers_add(topology): ''' Check uniqueness across several containers, uniquely with the new configuration Add and entry with a given 'cn', then check we can not add an entry with the same 'cn' value ''' _header(topology, "With new config (args), check attribute uniqueness with 'cn' (ADD) across several containers") > _active_stage_containers_add(topology, type_config='old', across_subtrees=True) tickets/ticket47823_test.py:585: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:302: in _active_stage_containers_add config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, across_subtrees=False) tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/p
ython2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (ADD) across several containers INFO:lib389:####### INFO:lib389:############################################### _________________ test_ticket47823_across_multi_containers_mod _________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_across_multi_containers_mod(topology): ''' Check uniqueness across several containers, uniquely with the new configuration Add and entry with a given 'cn', then check w
e can not modifiy an entry with the same 'cn' value ''' _header(topology, "With new config (args), check attribute uniqueness with 'cn' (MOD) across several containers") > _active_stage_containers_mod(topology, type_config='old', across_subtrees=True) tickets/ticket47823_test.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:332: in _active_stage_containers_mod config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, across_subtrees=False) tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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._t
race_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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (MOD) across several containers INFO:lib389:####### INFO:lib389:############################################### _______________ test_ticket47823_across_multi_containers_modrdn ________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_across_multi_containers_modrdn(topology): ''' Check uniqueness across several containers, uniquely with the new configuration Add and entry with a given 'cn', then check we can not modrdn an entry with the same 'cn' value ''' _header(topology, "With new config (args), check attribute uniqueness with 'cn' (MODRDN) across several containers") > _active_stage_containers_modrdn(topology, type_config='old', across_subtrees=True) tickets/ticket47823_test.py:607: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:379: in _active_stage_containers_modrdn config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=STAGE_DN, type_config=type_config, across_subtrees=False) tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__ini
t__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### With new config (args), check attribute uniqueness with 'cn' (MODRDN) across several containers INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_1 _______________
________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_invalid_config_1(topology): ''' Check that an invalid config is detected. No uniqueness enforced Using old config: arg0 is missing ''' _header(topology, "Invalid config (old): arg0 is missing") _config_file(topology, action='save') # create an invalid config without arg0 > config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old', across_subtrees=False) tickets/ticket47823_test.py:620: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) def _ldap_call(self,func,*args,**kwargs): """ Wrapper method mainly for serializing calls into OpenLDAP libs and trace logs """ self._ldap_object_lo
ck.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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg0 is missing INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_2 _______________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_invalid_config_2(topology): ''' Check that an invalid config is detected. No uniqueness enforced Using old config: arg1 is missing ''' _header(topology, "Invalid config (old): arg1 is missing") _config_file(topology, action='save') # create an invalid config without arg0 > config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old', across_subtrees=False) tickets/ticket47823_test.py:672: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159
: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg1 is missing INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_3 _______________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_invalid_config_3(topology): ''' Check that an invalid config is detected. No uniqueness enforced Using old config: arg0 is missing ''' _header(topology, "Invalid config (old)
: arg0 is missing but new config attrname exists") _config_file(topology, action='save') # create an invalid config without arg0 > config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old', across_subtrees=False) tickets/ticket47823_test.py:723: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg0 is missing but new config attrname exists INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_4 _______________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_invalid_config_4(topology): ''' Check that an invalid config is detected. No uniqueness enforced Using old config: arg1 is missing ''' _header(topology, "Invalid config (old): arg1 is missing but new config exist") _config_file(topology, action='save') # create an invalid config without arg0 > config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='old', across_subtrees=False) tickets/ticket47823_test.py:776: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:124: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs)
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (old): arg1 is missing but new config exist INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_5 _______________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_invalid_config_5(topology): ''' Check that an invalid config is detected. No uniqueness enforced Using new config: uniqueness-attribute-name is missing ''' _header(topology, "Invalid config (new): uniqueness-attribute-name is missing") _config_file(topology, action='save') # create an invalid config without arg0 > config = _build_config(topology, attr_na
me='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='new', across_subtrees=False) tickets/ticket47823_test.py:828: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:131: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LD
AP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (new): uniqueness-attribute-name is missing INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_6 _______________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_invalid_config_6(topology): ''' Check that an invalid config is detected. No uniqueness enforced Using new config: uniqueness-subtrees is missing ''' _header(topology, "Invalid config (new): uniqueness-subtrees is missing") _config_file(topology, action='save') # create an invalid config without arg0 > config = _build_config(topology, attr_name='cn', subtree_1=ACTIVE_DN, subtree_2=None, type_config='new', across_subtrees=False) tickets/ticket47823_test.py:879: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:131: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDA
P object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (new): uniqueness-subtrees is missing INFO:lib389:####### INFO:lib389:############################################### ______________________ test_ticket47823_invalid_config_7 _______________________ topology = <tickets.ticket47823_test.TopologyStandalone object at 0x7fe620fca1d0> def test_ticket47823_invalid_config_7(topology): ''' Check that an invalid config is detected. No uniqueness enforced Using new config: uniqueness-subtrees is missing ''' _header(topology, "Invalid config (new): uniqueness-subtrees are invalid") _config_file(topology, action='save') # create an invalid config without arg0 > config = _build_config(topology, attr_name='cn', subtree_1="this_is dummy DN", subtree_2="an other=dummy DN", type_config='new', across_subtrees=False) tickets/ticket47823_test.py:930: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tickets/ticket47823_test.py:131: in _build_config config = _uniqueness_config_entry(topology, attr_name) tickets/ticket47823_test.py:112: in _uniqueness_config_entry 'nsslapd-pluginDescription']) ../../../lib389/lib389/__init__.py:1573: in getEntry res = self.search(*args, **kwargs) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:594: in search return self.search_ext(base,scope,filterstr,attrlist,attrsonly,None,None) ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, ../../../lib389/lib389/__init__.py:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe62169a3b0> func = <built-in method search_ext of LDAP object at 0x7fe6223748a0> args = ('cn=attribute uniqueness,cn=plugins,cn=config', 0, '(objectclass=nsSlapdPlugin)', ['objectClass', 'cn', 'nsslapd-pluginPath', 'nsslapd-pluginInitfunc', 'nsslapd-pluginType', 'nsslapd-pluginEnabled', ...], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- I
NFO:lib389: ############################################### INFO:lib389:####### INFO:lib389:####### Invalid config (new): uniqueness-subtrees are invalid INFO:lib389:####### INFO:lib389:############################################### ____________________________ test_ticket47871_init _____________________________ topology = Master[localhost.localdomain:38941] -> Consumer[localhost.localdomain:38961 def test_ticket47871_init(topology): """ Initialize the test environment """ topology.master.plugins.enable(name=PLUGIN_RETRO_CHANGELOG) mod = [(ldap.MOD_REPLACE, 'nsslapd-changelogmaxage', "10s"), # 10 second triming (ldap.MOD_REPLACE, 'nsslapd-changelog-trim-interval', "5s")] topology.master.modify_s("cn=%s,%s" % (PLUGIN_RETRO_CHANGELOG, DN_PLUGIN), mod) #topology.master.plugins.enable(name=PLUGIN_MEMBER_OF) #topology.master.plugins.enable(name=PLUGIN_REFER_INTEGRITY) topology.master.stop(timeout=10) topology.master.start(timeout=10) topology.master.log.info("test_ticket47871_init topology %r" % (topology)) # the test case will check if a warning message is logged in the # error log of the supplier > topology.master.errorlog_file = open(topology.master.errlog, "r") E IOError: [Errno 2] No such file or directory: '/var/log/dirsrv/slapd-master_1/error' tickets/ticket47871_test.py:147: IOError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ('Update succeeded: status ', '0 Total update succeeded') ---------------------------- Captured stderr setup ----------------------------- INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: {SSHA512}JkDJarhHjPbPr3jOuwyjycSl2uBFE7Ylo6q5HuSZqfMKRXAwWtrrcmcD2wM4Sy0YMmJ0azhrHYwPTFQySOot+mtlKkmbvojl INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Found entry dn: cn=replrepl,cn=config cn
: bind dn pseudo user cn: replrepl objectClass: top objectClass: person sn: bind dn pseudo user userPassword: {SSHA512}X3pqaur9Xfftua5Y0znElDOwPPPKDJ+i7E70irBbX1TWODPWqD3zDz2fFknPdphfhyYyudt0cl/3WxBuPjrCnhC9fKpO5mkN DEBUG:tickets.ticket47871_test:cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config created INFO:lib389:Starting total init cn=meTo_$host:$port,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:tickets.ticket47871_test:Replication is working. ----------------------------- Captured stderr call ----------------------------- INFO:lib389:test_ticket47871_init topology Master[localhost.localdomain:38941] -> Consumer[localhost.localdomain:38961 _________________________ test_ticket48005_automember __________________________ topology = <tickets.ticket48005_test.TopologyStandalone object at 0x7fe621634b50> def test_ticket48005_automember(topology): ''' Enable automember and referint plugin 1. Run automember rebuild membership task without waiting Shutdown the server Check if a core file was generated or not If no core was found, this test case was successful. 2. Run automember export updates task without waiting Shutdown the server Check if a core file was generated or not If no core was found, this test case was successful. 3. Run automember map updates task without waiting 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 automember test...") topology.standalone.plugins.enable(name=PLUGIN_AUTOMEMBER) topology.standalone.plugins.enable(name=PLUGIN_REFER_INTEGRITY) # configure automember config entry log.info('Adding automember config') try: topology.standalone.add_s(Entry(('cn=group cfg,cn=Auto Membership Plugin,cn=plugins,cn=config', { 'objectclass': 'top autoMemberDefinition'.split(), 'autoMemberScope': 'dc=example,dc=com', 'autoMemberFilter': 'objectclass=inetorgperson', 'autoMemberDefaultGroup': 'cn=group0,dc=example,dc=com', 'autoMemberGroupingAttr': 'uniquemember
:dn', 'cn': 'group cfg'}))) except ValueError: log.error('Failed to add automember config') assert False topology.standalone.restart(timeout=10) try: # run the automember rebuild task topology.standalone.tasks.automemberRebuild(suffix=SUFFIX, args={TASK_WAIT: False}) except ValueError: log.error('Automember rebuild task failed.') assert False topology.standalone.stop(timeout=10) mytmp = '/tmp' logdir = re.sub('errors', '', topology.standalone.errlog) cmdline = 'ls ' + logdir + 'core*' p = os.popen(cmdline, "r") lcore = p.readline() if lcore != "": s.system('mv %score* %s/core.ticket48005_automember_rebuild' % (logdir, mytmp)) log.error('Automember_rebuld: Moved core file(s) to %s; Test failed' % mytmp) assert False log.info('No core files are found') topology.standalone.start(timeout=10) ldif_out_file = mytmp + "/ticket48005_automember_exported.ldif" try: # run the automember export task topology.standalone.tasks.automemberExport(suffix=SUFFIX, ldif_out=ldif_out_file, args={TASK_WAIT: False}) except ValueError: log.error('Automember Export task failed.') assert False topology.standalone.stop(timeout=10) logdir = re.sub('errors', '', topology.standalone.errlog) cmdline = 'ls ' + logdir + 'core*' p = os.popen(cmdline, "r") lcore = p.readline() if lcore != "": s.system('mv %score* %s/core.ticket48005_automember_export' % (logdir, mytmp)) log.error('Automember_export: Moved core file(s) to %s; Test failed' % mytmp) assert False log.info('No core files are found') topology.standalone.start(timeout=10) ldif_in_file = topology.standalone.get_ldif_dir() + "/ticket48005.ldif" ldif_out_file = mytmp + "/ticket48005_automember_map.ldif" try: # run the automember map task topology.standalone.tasks.automemberMap(ldif_in=ldif_in_file, ldif_out=ldif_out_file, args={TASK_WAIT: False}) except ValueError: log.error('Automember Map task failed.') assert False topology.standalone.stop(timeout=10) logdir = re.sub('errors', '', topology.standalone.errlog) cmdline = 'ls ' + logdir + 'core*' p = os.popen(cmdline, "r") lcore = p.readline(
) if lcore != "": s.system('mv %score* %s/core.ticket48005_automember_map' % (logdir, mytmp)) log.error('Automember_map: Moved core file(s) to %s; Test failed' % mytmp) assert False log.info('No core files are found') > topology.standalone.start(timeout=10) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48005_test.py>:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:1096: in start "dirsrv@%s" % self.serverid]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@standalone'],), kwargs = {} retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@standalone'] 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 Popen constructor. 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 CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@standalone']' returned non-zero exit status 1 /usr/lib64/python2.7/subprocess.py:541: CalledProcessError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48005_test:Ticket 48005 automember test... INFO:tickets.ticket48005_test:Adding automember config INFO:lib389:Automember Rebuild Membership task(task-11022016_010350) completed successfully ls: cannot access '/var/log/dirsrv/slapd-standalone/errorcore*': No such file or directory INFO:tickets.ticket48005_test:No core files are found INFO:lib389:Automember Export Updates task (task-11022016_010350) c
ompleted successfully ls: cannot access '/var/log/dirsrv/slapd-standalone/errorcore*': No such file or directory INFO:tickets.ticket48005_test:No core files are found INFO:lib389:Automember Map Updates task (task-11022016_010351) completed successfully ls: cannot access '/var/log/dirsrv/slapd-standalone/errorcore*': No such file or directory INFO:tickets.ticket48005_test:No core files are found Job for dirsrv@standalone.service failed. See "systemctl status dirsrv@standalone.service" and "journalctl -xe" for details. _______________________ test_ticket48005_syntaxvalidate ________________________ topology = <tickets.ticket48005_test.TopologyStandalone object at 0x7fe621634b50> def test_ticket48005_syntaxvalidate(topology): ''' Run syntax validate task without waiting 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 syntax validate test...") try: # run the fixup task > topology.standalone.tasks.syntaxValidate(suffix=SUFFIX, args={TASK_WAIT: False}) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48005_test.py>:278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/tasks.py>:845: in syntaxValidate self.conn.add_s(entry) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:155: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:210: in add_s return self.result(msgid,all=1,timeout=self.timeout) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:127: in inner objtype, data = f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:503: in result resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout) <http://vm-058-081.abc.idm.lab.
eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:507: in result2 resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:514: in result3 resp_ctrl_classes=resp_ctrl_classes <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:521: in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe622321320> func = <built-in method result4 of LDAP object at 0x7fe6223a1f58> args = (4, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ------------
----------------- INFO:tickets.ticket48005_test:Ticket 48005 syntax validate test... _____________________________ test_ticket48005_usn _____________________________ topology = <tickets.ticket48005_test.TopologyStandalone object at 0x7fe621634b50> def test_ticket48005_usn(topology): ''' 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.standalone.plugins.enable(name=PLUGIN_USN) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48005_test.py>:311: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/plugins.py>:128: in enable plugin = self.get(selector=name) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/_mapped_object.py>:356: in get results = self._get_selector(selector) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/_mapped_object.py>:390: in _get_selector attrlist=self._list_attrlist, <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:597: in search_s return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:590: in search_ext_s msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:1
59: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:586: in search_ext timeout,sizelimit, <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe622321320> func = <built-in method search_ext of LDAP object at 0x7fe6223a1f58> args = ('cn=plugins,cn=config', 2, '(&(objectclass=top)(objectclass=nsslapdplugin)(|(cn=USN)(nsslapd-pluginPath=USN)))', ['dn', 'nsslapd-pluginPath'], 0, None, ...) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48005_test:Ticket 48005 usn test... ________________________ test_ticket48005_schemareload _________________________ topology = <tickets.ticket48005_test.TopologyStandalone object at 0x7fe621634b50> def test_ticket48005_schemareload(topology): ''' Run schema reload task without waiting 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 schema reload test...") try: # run the schema reload task > topology.standalone.tasks.schemaReload(args={TASK_WAI
T: False}) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48005_test.py>:371: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/tasks.py>:758: in schemaReload self.conn.add_s(entry) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:155: in inner return f(ent.dn, ent.toTupleList(), *args[2:]) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:209: in add_s msgid = self.add(dn,modlist) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:157: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:206: in add return self.add_ext(dn,modlist,None,None) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:157: in inner return f(*args, **kwargs) /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:191: in add_ext return self._ldap_call(self._l.add_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls)) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:159: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv instance at 0x7fe622321320> func = <built-in method add_ext of LDAP object at 0x7fe6223a1f58> args = ('cn=task-11022016_010352,cn=schema reload task,cn=tasks,cn=config', [('objectclass', ('top', 'extensibleObject')), ('cn', ('task-11022016_010352',))], None, None) kwargs = {}, diagnostic_message_success = None e = SERVER_DOWN({'desc': "Can't contact LDAP server"},) 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 SERVER_DOWN: {'desc': "Can't contact LDAP server"} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: SERVER_DOWN ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48005_test:Ticket 48005 schema reload test... _______________________________ test_ticket48109 _______________________________ topology = <tickets.ticket48109_test.TopologyStandalone object at 0x7fe620fb6f90> def test_ticket48109(topology): ''' Set SubStr lengths to cn=uid,cn=index,... objectClass: extensibleObject nsIndexType: sub nsSubStrBegin: 2 nsSubStrEnd: 2 ''' log.info('Test case 0') # add substr setting to UID_INDEX try: topology.standalone.modify_s(UID_INDEX, [(ldap.MOD_ADD, 'objectClass', 'extensibleObject'), (ldap.MOD_ADD, 'nsIndexType', 'sub'), (ldap.MOD_ADD, 'nsSubStrBegin', '2'), (ldap.MOD_ADD, 'nsSubStrEnd', '2')]) except ldap.LDAPError as e: log.error('Failed to add substr lengths: error ' + e.message['desc']) assert False # restart the server to apply the indexing topology.standalone.restart(timeout=10) # add a test user UID = 'auser0' USER_DN = 'uid=%s,%s' % (UID, SUFFIX) try: topology.standalone.add_s(Entry((USER_DN, { 'objectclass': 'top person organizationalPerson inetOrgPerson'.split(), 'cn': 'a user0', 'sn': 'user0', 'givenname': 'a', 'mail': UID}))) except ldap.LDAPError as e: log.error('Failed to add ' + USER_DN + ': error ' + e.message['desc']) assert False entries = topology.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, '(uid=a*)') assert len(entries) == 1 # restart the server to check the access log topology.standalone.restart(timeout=10) cmdline = 'egrep %s %s | egrep "uid=a\*"' % (SUFFIX, topology.standalone.acce
sslog) p = os.popen(cmdline, "r") l0 = p.readline() if l0 == "": log.error('Search with "(uid=a*)" is not logged in ' + topology.standalone.accesslog) > assert False E assert False <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48109_test.py>:121: AssertionError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48109_test:Test case 0 ERROR:tickets.ticket48109_test:Search with "(uid=a*)" is not logged in /var/log/dirsrv/slapd-standalone/access ______________________________ test_ticket48226_1 ______________________________ topology = <tickets.ticket48226_test.TopologyReplication object at 0x7fe620c69310> def test_ticket48226_1(topology): name = 'test_entry' dn = "cn=%s,%s" % (name, SUFFIX) topology.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.master1.modify_s(dn, mods) nbtry = 0 while (nbtry <= 10): try: ent = topology.master2.getEntry(dn, ldap.SCOPE_BASE, "(objectclass=*)", ['description']) if ent.hasAttr('description') and ent.getValue('description') == '5': break except ldap.NO_SUCH_OBJECT: pass nbtry = nbtry + 1 time.sleep(1) assert nbtry <= 10 # Stop M2 so that it will not receive the next update topology.master2.stop(10) # ADD a new value that is not replicated mods = [(ldap.MOD_DELETE, 'description', '5')] topology.master1.modify_s(dn, mods) # Stop M1 so that it will keep del '5' that is unknown from master2 topology.master1.stop(10) # Get the sbin directory so we know where to replace 'ns-slapd' sbin_dir = topology.master2.get_sbin_dir() # Enable valgrind if not topology.master2.has_asan(): > valgrind_enable(sbin_dir) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/ticket
s/ticket48226_test.py>:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sbin_dir = '/usr/sbin' wrapper = '<http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/ns-slapd.valgrind'> def valgrind_enable(sbin_dir, wrapper=None): ''' Copy the valgrind ns-slapd wrapper into the /sbin directory (making a backup of the original ns-slapd binary). The script calling valgrind_enable() must be run as the 'root' user as selinux needs to be disabled for valgrind to work The server instance(s) should be stopped prior to calling this function. Then after calling valgrind_enable(): - Start the server instance(s) with a timeout of 60 (valgrind takes a while to startup) - Run the tests - Stop the server - Get the results file - Run valgrind_check_file(result_file, "pattern", "pattern", ...) - Run valgrind_disable() :param sbin_dir: the location of the ns-slapd binary (e.g. /usr/sbin) :param wrapper: The valgrind wrapper script for ns-slapd (if not set, a default wrapper is used) :raise IOError: If there is a problem setting up the valgrind scripts :raise EnvironmentError: If script is not run as 'root' ''' if os.geteuid() != 0: log.error('This script must be run as root to use valgrind') raise EnvironmentError if not wrapper: # use the default ns-slapd wrapper wrapper = '%s/%s' % (os.path.dirname(os.path.abspath(__file__)), VALGRIND_WRAPPER) nsslapd_orig = '%s/ns-slapd' % sbin_dir nsslapd_backup = '%s/ns-slapd.original' % sbin_dir if os.path.isfile(nsslapd_backup): # There is a backup which means we never cleaned up from a previous # run(failed test?) if not filecmp.cmp(nsslapd_backup, nsslapd_orig): # Files are different sizes, we assume valgrind is already setup log.info('Valgrind is already enabled.') return # Check both nsslapd's exist if not os.path.isfile(wrapper): raise IOError('The valgrind wrapper (%s) does not exist. file=%s' % (wrapper, __file__)) if not os.path.isfile(nsslapd_orig): raise IOError('The binary (%s) does not exist or is not acc
essible.' % nsslapd_orig) # Make a backup of the original ns-slapd and copy the wrapper into place try: shutil.copy2(nsslapd_orig, nsslapd_backup) except IOError as e: log.fatal('valgrind_enable(): failed to backup ns-slapd, error: %s' % e.strerror) raise IOError('failed to backup ns-slapd, error: %s' % e.strerror) # Copy the valgrind wrapper into place try: shutil.copy2(wrapper, nsslapd_orig) except IOError as e: log.fatal('valgrind_enable(): failed to copy valgrind wrapper ' 'to ns-slapd, error: %s' % e.strerror) raise IOError('failed to copy valgrind wrapper to ns-slapd, error: %s' % > e.strerror) E IOError: failed to copy valgrind wrapper to ns-slapd, error: Text file busy <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/utils.py>:255: IOError ----------------------------- Captured stderr call ----------------------------- CRITICAL:lib389.utils:valgrind_enable(): failed to copy valgrind wrapper to ns-slapd, error: Text file busy ____________________ test_ticket48266_count_csn_evaluation _____________________ topology = <tickets.ticket48266_test.TopologyReplication object at 0x7fe620c5d550> entries = None def test_ticket48266_count_csn_evaluation(topology, entries): ents = topology.master1.agreement.list(suffix=SUFFIX) assert len(ents) == 1 > first_csn = _get_first_not_replicated_csn(topology) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48266_test.py>:328: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology = <tickets.ticket48266_test.TopologyReplication object at 0x7fe620c5d550> def _get_first_not_replicated_csn(topology): name = "cn=%s2,%s" % (NEW_ACCOUNT, SUFFIX) # read the first CSN that will not be replicated mod = [(ldap.MOD_REPLACE, 'telephonenumber', str(123456))] topology.master1.modify_s(name, mod) msgid = topology.master1.search_ext(name, ldap.SCOPE_SUBTREE, 'objectclass=*', ['nscpentrywsi']) rtype, rdata, rmsgid = topology.master1.result2(m
sgid) attrs = None for dn, raw_attrs in rdata: topology.master1.log.info("dn: %s" % dn) if 'nscpentrywsi' in raw_attrs: attrs = raw_attrs['nscpentrywsi'] assert attrs for attr in attrs: if attr.lower().startswith('telephonenumber'): break assert attr # now retrieve the CSN of the operation we are looking for csn = None topology.master1.stop(timeout=10) file_path = os.path.join(topology.master1.prefix, "var/log/dirsrv/slapd-%s/access" % topology.master1.serverid) > file_obj = open(file_path, "r") E IOError: [Errno 2] No such file or directory: '/usr/var/log/dirsrv/slapd-master_1/access' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48266_test.py>:276: IOError ----------------------------- Captured stderr call ----------------------------- INFO:lib389:dn: cn=new_account2,dc=example,dc=com __________________ test_ticket48270_homeDirectory_indexed_cis __________________ topology = <tickets.ticket48270_test.TopologyStandalone object at 0x7fe620c7c190> def test_ticket48270_homeDirectory_indexed_cis(topology): log.info("\n\nindex homeDirectory in caseIgnoreIA5Match and caseExactIA5Match") 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'}))) #log.info("attach debugger") #time.sleep(60) IGNORE_MR_NAME='caseIgnoreIA5Match' EXACT_MR_NAME='caseExactIA5Match' mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))] topology.standalone.modify_s(HOMEDIRECTORY_INDEX, mod) #topology.standalone.stop(timeout=10) log.info("successfully checked that filter with exact mr , a filter with lowercase eq is failing") #assert topology.standalone.db2index(bename=DEFAULT_BENAME, suffixes=None, attrs=['homeDirectory']) #topology.standalone.start(timeout=10) args = {TASK_WAIT: True} topology.standalone.tasks.reindex(suffix=SUFFIX, attrname
='homeDirectory', args=args) log.info("Check indexing succeeded with a specified matching rule") file_path = os.path.join(topology.standalone.prefix, "var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid) > file_obj = open(file_path, "r") E IOError: [Errno 2] No such file or directory: '/usr/var/log/dirsrv/slapd-standalone/errors' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48270_test.py>:100: IOError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48270_test: index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match INFO:tickets.ticket48270_test:successfully checked that filter with exact mr , a filter with lowercase eq is failing INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_11022016_011352 completed successfully INFO:tickets.ticket48270_test:Check indexing succeeded with a specified matching rule _______________________________ test_ticket48383 _______________________________ topology = <tickets.ticket48383_test.TopologyStandalone object at 0x7fe620e82210> def test_ticket48383(topology): """ This test case will check that we re-alloc buffer sizes on import.c We achieve this by setting the servers dbcachesize to a stupid small value and adding huge objects to ds. Then when we run db2index, either: data stress suites tickets tmp If we are not using the re-alloc code, it will FAIL (Bad) data stress suites tickets tmp If we re-alloc properly, it all works regardless. """ topology.standalone.config.set('nsslapd-maxbersize', '200000000') topology.standalone.restart() # Create some stupid huge objects / attributes in DS. # seeAlso is indexed by default. Lets do that! # This will take a while ... data = [random.choice(string.letters) for x in xrange(10000000)] s = "".join(data) # This was here for an iteration test. i = 1 USER_DN = 'uid=user%s,ou=people,%s' % (i, DEFAULT_SUFFIX) padding = ['%s' % n for n in range(400)] user = 
Entry((USER_DN, { 'objectclass': 'top posixAccount person extensibleObject'.split(), 'uid': 'user%s' % (i), 'cn': 'user%s' % (i), 'uidNumber': '%s' % (i), 'gidNumber': '%s' % (i), 'homeDirectory': '/home/user%s' % (i), 'description': 'user description', 'sn' : s , 'padding' : padding , })) try: topology.standalone.add_s(user) except ldap.LDAPError as e: log.fatal('test 48383: Failed to user%s: error %s ' % (i, e.message['desc'])) assert False # Set the dbsize really low. try: topology.standalone.modify_s(DEFAULT_BENAME, [(ldap.MOD_REPLACE, 'nsslapd-cachememsize', '1')]) except ldap.LDAPError as e: log.fatal('Failed to change nsslapd-cachememsize ' + e.message['desc']) ## Does ds try and set a minimum possible value for this? ## Yes: [16/Feb/2016:16:39:18 +1000] - WARNING: cache too small, increasing to 500K bytes # Given the formula, by default, this means DS will make the buffsize 400k # So an object with a 1MB attribute should break indexing # stop the server topology.standalone.stop(timeout=30) # Now export and import the DB. It's easier than db2index ... topology.standalone.db2ldif(bename=DEFAULT_BENAME, suffixes=[DEFAULT_SUFFIX], excludeSuffixes=[], encrypt=False, \ repl_data=True, outputfile='%s/ldif/%s.ldif' % (topology.standalone.dbdir,SERVERID_STANDALONE )) result = topology.standalone.ldif2db(DEFAULT_BENAME, None, None, False, '%s/ldif/%s.ldif' % (topology.standalone.dbdir,SERVERID_STANDALONE )) > assert(result) E assert False <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48383_test.py>:123: AssertionError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stdout call ----------------------------- OK group dirsrv exists OK user dirsrv exists Exported ldif file: /var/lib/dirsrv/slapd-standalone/db/ldif/standalone.ldif OK group dirsrv exists OK user dirsrv exists ----------------------------- Captured stderr call --------
--------------------- CRITICAL:tickets.ticket48383_test:Failed to change nsslapd-cachememsize No such object INFO:lib389:Running script: /usr/sbin/db2ldif -Z standalone -n userRoot -s dc=example,dc=com -a /var/lib/dirsrv/slapd-standalone/db/ldif/standalone.ldif -r [02/Nov/2016:01:24:14.700083315 +0100] - DEBUG - ldbm_back_start - userRoot: entry cache size: 10485760 B; db size: 10321920 B [02/Nov/2016:01:24:14.703449471 +0100] - DEBUG - ldbm_back_start - total cache size: 20971520 B; [02/Nov/2016:01:24:14.706372711 +0100] - DEBUG - ldbm_back_start - Total entry cache size: 20971520 B; dbcache size: 10000000 B; available memory size: 2192662528 B; [02/Nov/2016:01:24:14.711643312 +0100] - NOTICE - dblayer_start - Detected Disorderly Shutdown last time Directory Server was running, recovering database. ldiffile: /var/lib/dirsrv/slapd-standalone/db/ldif/standalone.ldif [02/Nov/2016:01:24:15.322593129 +0100] - ERR - ldbm_back_ldbm2ldif - db2ldif: can't open /var/lib/dirsrv/slapd-standalone/db/ldif/standalone.ldif: 2 (No such file or directory) [02/Nov/2016:01:24:15.374806454 +0100] - INFO - dblayer_pre_close - Waiting for 4 database threads to stop [02/Nov/2016:01:24:16.304675091 +0100] - INFO - dblayer_pre_close - All database threads now stopped ERROR:lib389:ldif2db: Can't find file: /var/lib/dirsrv/slapd-standalone/db/ldif/standalone.ldif ___________________ test_ticket48497_homeDirectory_index_run ___________________ topology = <tickets.ticket48497_test.TopologyStandalone object at 0x7fe620c69150> def test_ticket48497_homeDirectory_index_run(topology): args = {TASK_WAIT: True} topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args) log.info("Check indexing succeeded with a specified matching rule") file_path = os.path.join(topology.standalone.prefix, "var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid) > file_obj = open(file_path, "r") E IOError: [Errno 2] No such file or directory: '/usr/var/log/dirsrv/slapd-standalone/errors' <http://vm-058-081.abc.idm.lab.eng.brq.redhat
.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48497_test.py>:139: IOError ----------------------------- Captured stderr call ----------------------------- INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_11022016_012440 completed successfully INFO:tickets.ticket48497_test:Check indexing succeeded with a specified matching rule __________________ test_ticket48745_homeDirectory_indexed_cis __________________ topology = <tickets.ticket48745_test.TopologyStandalone object at 0x7fe620e69690> def test_ticket48745_homeDirectory_indexed_cis(topology): log.info("\n\nindex homeDirectory in caseIgnoreIA5Match and caseExactIA5Match") 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'}))) #log.info("attach debugger") #time.sleep(60) IGNORE_MR_NAME='caseIgnoreIA5Match' EXACT_MR_NAME='caseExactIA5Match' mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))] topology.standalone.modify_s(HOMEDIRECTORY_INDEX, mod) #topology.standalone.stop(timeout=10) log.info("successfully checked that filter with exact mr , a filter with lowercase eq is failing") #assert topology.standalone.db2index(bename=DEFAULT_BENAME, suffixes=None, attrs=['homeDirectory']) #topology.standalone.start(timeout=10) args = {TASK_WAIT: True} topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args) log.info("Check indexing succeeded with a specified matching rule") file_path = os.path.join(topology.standalone.prefix, "var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid) > file_obj = open(file_path, "r") E IOError: [Errno 2] No such file or directory: '/usr/var/log/dirsrv/slapd-standalone/errors' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket487
45_test.py>:110: IOError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48745_test: index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match INFO:tickets.ticket48745_test:successfully checked that filter with exact mr , a filter with lowercase eq is failing INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_11022016_012548 completed successfully INFO:tickets.ticket48745_test:Check indexing succeeded with a specified matching rule __________________ test_ticket48746_homeDirectory_indexed_cis __________________ topology = <tickets.ticket48746_test.TopologyStandalone object at 0x7fe620e54e90> def test_ticket48746_homeDirectory_indexed_cis(topology): log.info("\n\nindex homeDirectory in caseIgnoreIA5Match and caseExactIA5Match") 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'}))) #log.info("attach debugger") #time.sleep(60) IGNORE_MR_NAME='caseIgnoreIA5Match' EXACT_MR_NAME='caseExactIA5Match' mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))] topology.standalone.modify_s(HOMEDIRECTORY_INDEX, mod) #topology.standalone.stop(timeout=10) log.info("successfully checked that filter with exact mr , a filter with lowercase eq is failing") #assert topology.standalone.db2index(bename=DEFAULT_BENAME, suffixes=None, attrs=['homeDirectory']) #topology.standalone.start(timeout=10) args = {TASK_WAIT: True} topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args) log.info("Check indexing succeeded with a specified matching rule") file_path = os.path.join(topology.standalone.prefix, "var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid) > file_obj = open(file_path, "r") E IOError: [Errno 2] No such file or directory: '/usr/var/log/dirsrv/slapd-standa
lone/errors' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48746_test.py>:108: IOError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48746_test: index homeDirectory in caseIgnoreIA5Match and caseExactIA5Match INFO:tickets.ticket48746_test:successfully checked that filter with exact mr , a filter with lowercase eq is failing INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_11022016_012612 completed successfully INFO:tickets.ticket48746_test:Check indexing succeeded with a specified matching rule __________________ test_ticket48746_homeDirectory_indexed_ces __________________ topology = <tickets.ticket48746_test.TopologyStandalone object at 0x7fe620e54e90> def test_ticket48746_homeDirectory_indexed_ces(topology): log.info("\n\nindex homeDirectory in caseExactIA5Match, this would trigger the crash") 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'}))) # log.info("attach debugger") # time.sleep(60) EXACT_MR_NAME='caseExactIA5Match' mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (EXACT_MR_NAME))] topology.standalone.modify_s(HOMEDIRECTORY_INDEX, mod) #topology.standalone.stop(timeout=10) log.info("successfully checked that filter with exact mr , a filter with lowercase eq is failing") #assert topology.standalone.db2index(bename=DEFAULT_BENAME, suffixes=None, attrs=['homeDirectory']) #topology.standalone.start(timeout=10) args = {TASK_WAIT: True} topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args) log.info("Check indexing succeeded with a specified matching rule") file_path = os.path.join(topology.standalone.prefix, "var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid) > file_obj = open(file_
path, "r") E IOError: [Errno 2] No such file or directory: '/usr/var/log/dirsrv/slapd-standalone/errors' <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48746_test.py>:172: IOError ----------------------------- Captured stderr call ----------------------------- INFO:tickets.ticket48746_test: index homeDirectory in caseExactIA5Match, this would trigger the crash INFO:tickets.ticket48746_test:successfully checked that filter with exact mr , a filter with lowercase eq is failing INFO:lib389:List backend with suffix=dc=example,dc=com INFO:lib389:Index task index_homeDirectory_11022016_012614 completed successfully INFO:tickets.ticket48746_test:Check indexing succeeded with a specified matching rule _____________________ test_ticket48906_dblock_ldap_update ______________________ topology = <tickets.ticket48906_test.TopologyStandalone object at 0x7fe620c87050> def test_ticket48906_dblock_ldap_update(topology): topology.standalone.log.info('###################################') topology.standalone.log.info('###') topology.standalone.log.info('### Check that after ldap update') topology.standalone.log.info('### - monitor contains DEFAULT') topology.standalone.log.info('### - configured contains DBLOCK_LDAP_UPDATE') topology.standalone.log.info('### - After stop dse.ldif contains DBLOCK_LDAP_UPDATE') topology.standalone.log.info('### - After stop guardian contains DEFAULT') topology.standalone.log.info('### In fact guardian should differ from config to recreate the env') topology.standalone.log.info('### Check that after restart (DBenv recreated)') topology.standalone.log.info('### - monitor contains DBLOCK_LDAP_UPDATE ') topology.standalone.log.info('### - configured contains DBLOCK_LDAP_UPDATE') topology.standalone.log.info('### - dse.ldif contains DBLOCK_LDAP_UPDATE') topology.standalone.log.info('###') topology.standalone.log.info('###################################') topology.standalone.modify_s(ldbm_config, [(ldap.MOD_REPLACE, DBLOCK_ATTR_CONFIG
, DBLOCK_LDAP_UPDATE)]) _check_monitored_value(topology, DBLOCK_DEFAULT) _check_configured_value(topology, attr=DBLOCK_ATTR_CONFIG, expected_value=DBLOCK_LDAP_UPDATE, required=True) topology.standalone.stop(timeout=10) _check_dse_ldif_value(topology, attr=DBLOCK_ATTR_CONFIG, expected_value=DBLOCK_LDAP_UPDATE) > _check_guardian_value(topology, attr=DBLOCK_ATTR_GUARDIAN, expected_value=DBLOCK_DEFAULT) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology = <tickets.ticket48906_test.TopologyStandalone object at 0x7fe620c87050> attr = 'locks', expected_value = '10000' def _check_guardian_value(topology, attr=DBLOCK_ATTR_CONFIG, expected_value=None): guardian_file = topology.standalone.dbdir + '/db/guardian' > assert(os.path.exists(guardian_file)) E assert <function exists at 0x7fe6320ed050>('/var/lib/dirsrv/slapd-standalone/db/db/guardian') E + where <function exists at 0x7fe6320ed050> = <module 'posixpath' from '/usr/lib64/python2.7/posixpath.pyc'>.exists E + where <module 'posixpath' from '/usr/lib64/python2.7/posixpath.pyc'> = os.path <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:164: AssertionError ----------------------------- Captured stderr call ----------------------------- INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that after ldap update INFO:lib389:### - monitor contains DEFAULT INFO:lib389:### - configured contains DBLOCK_LDAP_UPDATE INFO:lib389:### - After stop dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### - After stop guardian contains DEFAULT INFO:lib389:### In fact guardian should differ from config to recreate the env INFO:lib389:### Check that after restart (DBenv recreated) INFO:lib389:### - monitor contains DBLOCK_LDAP_UPDATE INFO:lib389:### - configured contains DBLOCK_LDAP_UPDATE INFO:lib38
9:### - dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### INFO:lib389:################################### _____________________ test_ticket48906_dblock_edit_update ______________________ topology = <tickets.ticket48906_test.TopologyStandalone object at 0x7fe620c87050> def test_ticket48906_dblock_edit_update(topology): topology.standalone.log.info('###################################') topology.standalone.log.info('###') topology.standalone.log.info('### Check that after stop') topology.standalone.log.info('### - dse.ldif contains DBLOCK_LDAP_UPDATE') topology.standalone.log.info('### - guardian contains DBLOCK_LDAP_UPDATE') topology.standalone.log.info('### Check that edit dse+restart') topology.standalone.log.info('### - monitor contains DBLOCK_EDIT_UPDATE') topology.standalone.log.info('### - configured contains DBLOCK_EDIT_UPDATE') topology.standalone.log.info('### Check that after stop') topology.standalone.log.info('### - dse.ldif contains DBLOCK_EDIT_UPDATE') topology.standalone.log.info('### - guardian contains DBLOCK_EDIT_UPDATE') topology.standalone.log.info('###') topology.standalone.log.info('###################################') topology.standalone.stop(timeout=10) _check_dse_ldif_value(topology, attr=DBLOCK_ATTR_CONFIG, expected_value=DBLOCK_LDAP_UPDATE) > _check_guardian_value(topology, attr=DBLOCK_ATTR_GUARDIAN, expected_value=DBLOCK_LDAP_UPDATE) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology = <tickets.ticket48906_test.TopologyStandalone object at 0x7fe620c87050> attr = 'locks', expected_value = '20000' def _check_guardian_value(topology, attr=DBLOCK_ATTR_CONFIG, expected_value=None): guardian_file = topology.standalone.dbdir + '/db/guardian' > assert(os.path.exists(guardian_file)) E assert <function exists at 0x7fe6320ed050>('/var/lib/dirsrv/slapd-standalone/db/db/guardian') E + where <function exists at 0x7fe6320ed
050> = <module 'posixpath' from '/usr/lib64/python2.7/posixpath.pyc'>.exists E + where <module 'posixpath' from '/usr/lib64/python2.7/posixpath.pyc'> = os.path <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:164: AssertionError ----------------------------- Captured stderr call ----------------------------- INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that after stop INFO:lib389:### - dse.ldif contains DBLOCK_LDAP_UPDATE INFO:lib389:### - guardian contains DBLOCK_LDAP_UPDATE INFO:lib389:### Check that edit dse+restart INFO:lib389:### - monitor contains DBLOCK_EDIT_UPDATE INFO:lib389:### - configured contains DBLOCK_EDIT_UPDATE INFO:lib389:### Check that after stop INFO:lib389:### - dse.ldif contains DBLOCK_EDIT_UPDATE INFO:lib389:### - guardian contains DBLOCK_EDIT_UPDATE INFO:lib389:### INFO:lib389:################################### ________________________ test_ticket48906_dblock_robust ________________________ topology = <tickets.ticket48906_test.TopologyStandalone object at 0x7fe620c87050> def test_ticket48906_dblock_robust(topology): topology.standalone.log.info('###################################') topology.standalone.log.info('###') topology.standalone.log.info('### Check that the following values are rejected') topology.standalone.log.info('### - negative value') topology.standalone.log.info('### - insuffisant value') topology.standalone.log.info('### - invalid value') topology.standalone.log.info('### Check that minimum value is accepted') topology.standalone.log.info('###') topology.standalone.log.info('###################################') topology.standalone.start(timeout=10) > _check_monitored_value(topology, DBLOCK_EDIT_UPDATE) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:291: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ topology = <tickets.ticket4890
6_test.TopologyStandalone object at 0x7fe620c87050> expected_value = '40000' def _check_monitored_value(topology, expected_value): entries = topology.standalone.search_s(ldbm_monitor, ldap.SCOPE_BASE, '(objectclass=*)') > assert(entries[0].hasValue(DBLOCK_ATTR_MONITOR) and entries[0].getValue(DBLOCK_ATTR_MONITOR) == expected_value) E assert (True and '20000' == '40000' E + where True = <bound method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn...pd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n>('nsslapd-db-configured-locks') E + where <bound method Entry.hasValue of dn: cn=database,cn=monitor,cn=ldbm database,cn...pd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n> = dn: cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config\ncn: database\n...apd-db-txn-region-wait-rate: 0\nobjectClass: top\nobjectClass: extensibleObject\n\n.hasValue E - 20000 E ? ^ E + 40000 E ? ^) <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/tickets/ticket48906_test.py>:144: AssertionError ----------------------------- Captured stderr call ----------------------------- INFO:lib389:################################### INFO:lib389:### INFO:lib389:### Check that the following values are rejected INFO:lib389:### - negative value INFO:lib389:### - insuffisant value INFO:lib389:### - invalid value INFO:lib389:### Check that minimum value is accepted INFO:lib389:### INFO:lib389:################################### INFO:lib389:open(): Connecting to uri ldap://localhost.localdomain:38931/ INFO:lib389:open(): bound as cn=Directory Manager _____________________________ test_basic_systemctl _____________________________ topology = <suites.basic.basic_test.TopologyStandalone object at 0x7fe620d843d0> import_example_ldif = None def test_basic_systemctl(topology, import_example_ldif): """Test systemctl/lib389 can stop and start the server. Also test that start reports an error when the instance does not start. O
nly for RPM builds """ log.info('Running test_basic_systemctl...') config_dir = topology.standalone.get_config_dir() # # Stop the server # log.info('Stopping the server...') topology.standalone.stop() log.info('Stopped the server.') # # Start the server # log.info('Starting the server...') topology.standalone.start() log.info('Started the server.') # # Stop the server, break the dse.ldif so a start fails, # and verify that systemctl detects the failed start # log.info('Stopping the server...') topology.standalone.stop() log.info('Stopped the server before breaking the dse.ldif.') shutil.copy(config_dir + '/dse.ldif', config_dir + '/dse.ldif.correct' ) open(config_dir + '/dse.ldif', 'w').close() # We need to kill the .bak file too, DS is just too smart! open(config_dir + '/dse.ldif.bak', 'w').close() log.info('Attempting to start the server with broken dse.ldif...') try: topology.standalone.start() except: log.info('Server failed to start as expected') log.info('Check the status...') assert(not topology.standalone.status()) log.info('Server failed to start as expected') time.sleep(5) # # Fix the dse.ldif, and make sure the server starts up, # and systemctl correctly identifies the successful start # shutil.copy(config_dir + '/dse.ldif.correct', config_dir + '/dse.ldif' ) log.info('Starting the server with good dse.ldif...') > topology.standalone.start() <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/suites/basic/basic_test.py>:651: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/lib389/lib389/__init__.py>:1096: in start "dirsrv@%s" % self.serverid]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = (['/usr/bin/systemctl', 'start', 'dirsrv@standalone'],), kwargs = {} retcode = 1, cmd = ['/usr/bin/systemctl', 'start', 'dirsrv@standalone'] def check_call(*popenargs, **kwargs): """Run command with argument
s. 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 Popen constructor. 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 CalledProcessError: Command '['/usr/bin/systemctl', 'start', 'dirsrv@standalone']' returned non-zero exit status 1 /usr/lib64/python2.7/subprocess.py:541: CalledProcessError ----------------------------- Captured stderr call ----------------------------- INFO:suites.basic.basic_test:Running test_basic_systemctl... INFO:suites.basic.basic_test:Stopping the server... INFO:suites.basic.basic_test:Stopped the server. INFO:suites.basic.basic_test:Starting the server... INFO:suites.basic.basic_test:Started the server. INFO:suites.basic.basic_test:Stopping the server... INFO:suites.basic.basic_test:Stopped the server before breaking the dse.ldif. INFO:suites.basic.basic_test:Attempting to start the server with broken dse.ldif... Job for dirsrv@standalone.service failed because the control process exited with error code. See "systemctl status dirsrv@standalone.service" and "journalctl -xe" for details. INFO:suites.basic.basic_test:Server failed to start as expected INFO:suites.basic.basic_test:Check the status... INFO:suites.basic.basic_test:Server failed to start as expected INFO:suites.basic.basic_test:Starting the server with good dse.ldif... Job for dirsrv@standalone.service failed because the control process exited with error code. See "systemctl status dirsrv@standalone.service" and "journalctl -xe" for details. ___________________________ test_multi_suffix_search ___________________________ topology = <suites.paged_results.paged_results_test.TopologyStandalone object at 0x7fe620f67690> test_user = None, new_suffixes = None def test_multi_suffix_search(topology, test_user, new_suffix
es): """Verify that page result search returns empty cookie if there is no returned entry. :Feature: Simple paged results :Setup: Standalone instance, test user for binding, two suffixes with backends, one is inserted into another, 10 users for the search base within each suffix :Steps: 1. Bind as test user 2. Search through all 20 added users with a simple paged control using page_size = 4 3. Wait some time logs to be updated 3. Check access log :Assert: All users should be found, the access log should contain the pr_cookie for each page request and it should be equal 0, except the last one should be equal -1 """ search_flt = r'(uid=test*)' searchreq_attrlist = ['dn', 'sn'] page_size = 4 users_num = 20 log.info('Clear the access log') topology.standalone.deleteAccessLogs() users_list_1 = add_users(topology, users_num / 2, NEW_SUFFIX_1) users_list_2 = add_users(topology, users_num / 2, NEW_SUFFIX_2) try: log.info('Set DM bind') topology.standalone.simple_bind_s(DN_DM, PASSWORD) req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='') all_results = paged_search(topology, NEW_SUFFIX_1, [req_ctrl], search_flt, searchreq_attrlist) log.info('{} results'.format(len(all_results))) assert len(all_results) == users_num log.info('Restart the server to flush the logs') topology.standalone.restart(timeout=10) access_log_lines = topology.standalone.ds_access_log.match('.*pr_cookie=.*') pr_cookie_list = ([line.rsplit('=', 1)[-1] for line in access_log_lines]) pr_cookie_list = [int(pr_cookie) for pr_cookie in pr_cookie_list] log.info('Assert that last pr_cookie == -1 and others pr_cookie == 0') pr_cookie_zeros = list(pr_cookie == 0 for pr_cookie in pr_cookie_list[0:-1]) assert all(pr_cookie_zeros) > assert pr_cookie_list[-1] == -1 E IndexError: list index out of range <http://vm-058-081.abc.idm.lab.eng.brq.redhat.com:8080/job/389-DS-NIGHTLY/ws/source/ds/dirsrvtests/tests/suites/paged_results/paged_results_test.py>:1198: IndexError ---------------------------- Captured stderr setup ----------------------------- INFO
:suites.paged_results.paged_results_test:Adding suffix:o=test_parent and backend: parent_base INFO:lib389:List backend with suffix=o=test_parent INFO:lib389:Creating a local backend INFO:lib389:List backend cn=parent_base,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=parent_base,cn=ldbm database,cn=plugins,cn=config cn: parent_base nsslapd-cachememsize: 10485760 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-standalone/db/parent_base nsslapd-dncachememsize: 10485760 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=test_parent objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance INFO:lib389:Entry dn: cn="o=test_parent",cn=mapping tree,cn=config cn: o=test_parent nsslapd-backend: parent_base nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree INFO:lib389:Found entry dn: cn=o\3Dtest_parent,cn=mapping tree,cn=config cn: o=test_parent nsslapd-backend: parent_base nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree INFO:suites.paged_results.paged_results_test:Adding suffix:ou=child,o=test_parent and backend: child_base INFO:lib389:List backend with suffix=ou=child,o=test_parent INFO:lib389:Creating a local backend INFO:lib389:List backend cn=child_base,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=child_base,cn=ldbm database,cn=plugins,cn=config cn: child_base nsslapd-cachememsize: 10485760 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-standalone/db/child_base nsslapd-dncachememsize: 10485760 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: ou=child,o=test_parent objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance INFO:lib389:Entry dn: cn="ou=child,o=test_parent",cn=mapping tree,cn=config cn: ou=child,o=test_parent nsslapd-backend: child_base nsslapd-parent-suffix: o=test_parent nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMapping
Tree INFO:lib389:Found entry dn: cn=ou\3Dchild\2Co\3Dtest_parent,cn=mapping tree,cn=config cn: ou=child,o=test_parent nsslapd-backend: child_base nsslapd-parent-suffix: o=test_parent nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree INFO:suites.paged_results.paged_results_test:Adding ACI to allow our test user to search ----------------------------- Captured stderr call ----------------------------- INFO:suites.paged_results.paged_results_test:Clear the access log INFO:suites.paged_results.paged_results_test:Adding 10 users INFO:suites.paged_results.paged_results_test:Adding 10 users INFO:suites.paged_results.paged_results_test:Set DM bind INFO:suites.paged_results.paged_results_test:Running simple paged result search with - search suffix: o=test_parent; filter: (uid=test*); attr list ['dn', 'sn']; page_size = 4; controls: [<ldap.controls.libldap.SimplePagedResultsControl instance at 0x7fe618e6b6c8>]. INFO:suites.paged_results.paged_results_test:Getting page 0 INFO:suites.paged_results.paged_results_test:Getting page 1 INFO:suites.paged_results.paged_results_test:Getting page 2 INFO:suites.paged_results.paged_results_test:Getting page 3 INFO:suites.paged_results.paged_results_test:Getting page 4 INFO:suites.paged_results.paged_results_test:Getting page 5 INFO:suites.paged_results.paged_results_test:20 results INFO:suites.paged_results.paged_results_test:Restart the server to flush the logs INFO:suites.paged_results.paged_results_test:Assert that last pr_cookie == -1 and others pr_cookie == 0 INFO:suites.paged_results.paged_results_test:Remove added users INFO:suites.paged_results.paged_results_test:Deleting 10 users INFO:suites.paged_results.paged_results_test:Deleting 10 users ============== 46 failed, 474 passed, 1 error in 7625.47 seconds ===============
+ MSG=FAILED
+ RC=1
+ sudo /usr/sbin/sendmail mreynolds@xxxxxxxxxx
+ exit 1
Build step 'Execute shell' marked build as failure
_______________________________________________
389-devel mailing list -- 389-devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to 389-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx





[Index of Archives]     [Fedora Directory Announce]     [Fedora Users]     [Older Fedora Users Mail]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Review]     [Fedora Art]     [Fedora Music]     [Fedora Packaging]     [CentOS]     [Fedora SELinux]     [Big List of Linux Books]     [KDE Users]     [Fedora Art]     [Fedora Docs]

  Powered by Linux