See <http://vm-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/78/display/redirect> ------------------------------------------ [...truncated 4504 lines...] suites/password/regression_test.py::test_trivial_passw_check[ZZZCNpwtest1] PASSED suites/password/regression_test.py::test_trivial_passw_check[CNpwtest1ZZZ] PASSED suites/password/regression_test.py::test_trivial_passw_check[ZZZCNpwtest1ZZZ] PASSED suites/password/regression_test.py::test_trivial_passw_check[ZZZZZZCNpwtest1ZZZZZZZZ] PASSED suites/password/regression_test.py::test_global_vs_local[UIDpwtest1] PASSED suites/password/regression_test.py::test_global_vs_local[MAILpwtest1@xxxxxxxxxx] PASSED suites/password/regression_test.py::test_global_vs_local[GNpwtest1] PASSED suites/password/regression_test.py::test_global_vs_local[CNpwtest1] PASSED suites/password/regression_test.py::test_global_vs_local[SNpwtest1] PASSED suites/password/regression_test.py::test_global_vs_local[CNpwtest1ZZZZ] PASSED suites/password/regression_test.py::test_global_vs_local[ZZZZZCNpwtest1] PASSED suites/password/regression_test.py::test_global_vs_local[ZCNpwtest1] PASSED suites/password/regression_test.py::test_global_vs_local[CNpwtest1Z] PASSED suites/password/regression_test.py::test_global_vs_local[ZCNpwtest1Z] PASSED suites/password/regression_test.py::test_global_vs_local[ZZCNpwtest1] PASSED suites/password/regression_test.py::test_global_vs_local[CNpwtest1ZZ] PASSED suites/password/regression_test.py::test_global_vs_local[ZZCNpwtest1ZZ] PASSED suites/password/regression_test.py::test_global_vs_local[ZZZCNpwtest1] PASSED suites/password/regression_test.py::test_global_vs_local[CNpwtest1ZZZ] PASSED suites/password/regression_test.py::test_global_vs_local[ZZZCNpwtest1ZZZ] PASSED suites/password/regression_test.py::test_global_vs_local[ZZZZZZCNpwtest1ZZZZZZZZ] PASSED suites/plugins/accpol_test.py::test_glact_inact PASSED suites/plugins/accpol_test.py::test_glremv_lastlogin PASSED suites/plugins/accpol_test.py::test_glact_login PASSED suites/plugins/accpol_test.py::test_glinact_limit PASSED suites/plugins/accpol_test.py::test_glnologin_attr PASSED suites/plugins/accpol_test.py::test_glnoalt_stattr PASSED suites/plugins/accpol_test.py::test_glattr_modtime PASSED suites/plugins/accpol_test.py::test_glnoalt_nologin PASSED suites/plugins/accpol_test.py::test_glinact_nsact PASSED suites/plugins/accpol_test.py::test_glinact_acclock PASSED suites/plugins/accpol_test.py::test_glnact_pwexp PASSED suites/plugins/accpol_test.py::test_locact_inact PASSED suites/plugins/accpol_test.py::test_locinact_modrdn PASSED suites/plugins/accpol_test.py::test_locact_modrdn PASSED suites/plugins/attr_uniqueness_test.py::test_attr_uniqueness_init PASSED suites/plugins/attr_uniqueness_test.py::test_attr_uniqueness PASSED suites/plugins/dna_test.py::test_basic PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_001 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_003 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_004 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_005 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_006 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_007 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_008 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_009 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_010 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_011 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_012 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_013 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_014 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_015 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_016 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_017 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_018 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_019 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_020 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_021 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_022 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_023 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_024 PASSED suites/plugins/memberof_test.py::test_memberof_MultiGrpAttr_025 PASSED suites/plugins/memberof_test.py::test_memberof_auto_add_oc PASSED suites/plugins/rootdn_plugin_test.py::test_rootdn_init PASSED suites/plugins/rootdn_plugin_test.py::test_rootdn_access_specific_time PASSED suites/plugins/rootdn_plugin_test.py::test_rootdn_access_day_of_week PASSED suites/plugins/rootdn_plugin_test.py::test_rootdn_access_denied_ip PASSED suites/plugins/rootdn_plugin_test.py::test_rootdn_access_denied_host PASSED suites/plugins/rootdn_plugin_test.py::test_rootdn_access_allowed_ip PASSED suites/plugins/rootdn_plugin_test.py::test_rootdn_access_allowed_host PASSED suites/plugins/rootdn_plugin_test.py::test_rootdn_config_validate PASSED suites/psearch/psearch_test.py::test_psearch PASSED suites/replication/acceptance_test.py::test_add_entry PASSED suites/replication/acceptance_test.py::test_modify_entry PASSED suites/replication/acceptance_test.py::test_delete_entry PASSED suites/replication/acceptance_test.py::test_modrdn_entry[0] PASSED suites/replication/acceptance_test.py::test_modrdn_entry[1] PASSED suites/replication/acceptance_test.py::test_modrdn_after_pause PASSED suites/replication/acceptance_test.py::test_modify_stripattrs PASSED suites/replication/acceptance_test.py::test_new_suffix PASSED suites/replication/acceptance_test.py::test_many_attrs PASSED suites/replication/acceptance_test.py::test_double_delete PASSED suites/replication/acceptance_test.py::test_password_repl_error PASSED suites/replication/cleanallruv_test.py::test_clean PASSED suites/replication/cleanallruv_test.py::test_clean_restart PASSED suites/replication/cleanallruv_test.py::test_clean_force PASSED suites/replication/cleanallruv_test.py::test_abort PASSED suites/replication/cleanallruv_test.py::test_abort_restart PASSED suites/replication/cleanallruv_test.py::test_abort_certify PASSED suites/replication/cleanallruv_test.py::test_stress_clean PASSED suites/replication/cleanallruv_test.py::test_multiple_tasks_with_force PASSED suites/replication/single_master_test.py::test_mail_attr_repl PASSED suites/replication/single_master_test.py::test_lastupdate_attr_before_init PASSED suites/replication/tombstone_test.py::test_purge_success 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/schema/test_eduperson.py::test_account_locking PASSED suites/schema/test_schema.py::test_schema_comparewithfiles PASSED suites/setup_ds/setup_ds_test.py::test_slapd_InstScriptsEnabled[true] PASSED suites/setup_ds/setup_ds_test.py::test_slapd_InstScriptsEnabled[false] PASSED =================================== FAILURES =================================== _______________________________ test_ticket47981 _______________________________ topology_st = <lib389.topologies.TopologyMain object at 0x7f75e7047710> def test_ticket47981(topology_st): """ If there are multiple suffixes, and the last suffix checked does not contain any COS entries, while other suffixes do, then the vattr cache is not invalidated as it should be. Then any cached entries will still contain the old COS attributes/values. """ log.info('\''Testing Ticket 47981 - Test that COS def changes are correctly reflected in affected users'\'') # # Create a second backend that does not have any COS entries # log.info('\''Adding second suffix that will not contain any COS entries...\n'\'') topology_st.standalone.backend.create(SECOND_SUFFIX, {BACKEND_NAME: BE_NAME}) topology_st.standalone.mappingtree.create(SECOND_SUFFIX, bename=BE_NAME) try: topology_st.standalone.add_s(Entry((SECOND_SUFFIX, { '\''objectclass'\'': '\''top organization'\''.split(), '\''o'\'': BE_NAME}))) except ldap.ALREADY_EXISTS: pass except ldap.LDAPError as e: log.error('\''Failed to create suffix entry: error '\'' + e.message['\''desc'\'']) assert False # # Add People branch, it might already exist # log.info('\''Add our test entries to the default suffix, and proceed with the test...'\'') try: topology_st.standalone.add_s(Entry((BRANCH, { '\''objectclass'\'': '\''top extensibleObject'\''.split(), '\''ou'\'': '\''level4'\'' }))) except ldap.ALREADY_EXISTS: pass except ldap.LDAPError as e: log.error('\''Failed to add ou=people: error '\'' + e.message['\''desc'\'']) assert False # # Add a user to the branch # try: topology_st.standalone.add_s(Entry((USER_DN, { '\''objectclass'\'': '\''top extensibleObject'\''.split(), '\''uid'\'': '\''user1'\'' }))) except ldap.LDAPError as e: log.error('\''Failed to add user1: error '\'' + e.message['\''desc'\'']) assert False # # Enable password policy and add the subtree policy # try: topology_st.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, '\''nsslapd-pwpolicy-local'\'', '\''on'\'')]) except ldap.LDAPError as e: log.error('\''Failed to set pwpolicy-local: error '\'' + e.message['\''desc'\'']) assert False addSubtreePwPolicy(topology_st.standalone) # # Now check the user has its expected passwordPolicy subentry # try: entries = topology_st.standalone.search_s(USER_DN, ldap.SCOPE_BASE, '\''(objectclass=top)'\'', ['\''pwdpolicysubentry'\'', '\''dn'\'']) if not entries[0].hasAttr('\''pwdpolicysubentry'\''): log.fatal('\''User does not have expected pwdpolicysubentry!'\'') > assert False E assert False tickets/ticket47981_test.py:190: AssertionError ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists ---------------------------- Captured stderr setup ----------------------------- INFO:lib389.topologies:Instance with parameters {'\''ldap-port'\'': 38901, '\''suffix'\'': '\''dc=example,dc=com'\'', '\''krb5_realm'\'': None, '\''deployed-dir'\'': '\''/usr'\'', '\''inst-backupdir'\'': '\''/tmp'\'', '\''hostname'\'': '\''localhost'\'', '\''server-id'\'': '\''standalone1'\'', '\''root-pw'\'': '\''password'\'', '\''root-dn'\'': '\''cn=Directory Manager'\'', '\''group-id'\'': None, '\''InstScriptsEnabled'\'': None, '\''user-id'\'': None, '\''ldap-secureport'\'': None} was created. ----------------------------- Captured stderr call ----------------------------- INFO:dirsrvtests.tests.tickets.ticket47981_test:Testing Ticket 47981 - Test that COS def changes are correctly reflected in affected users INFO:dirsrvtests.tests.tickets.ticket47981_test:Adding second suffix that will not contain any COS entries... INFO:lib389:List backend with suffix=o=netscaperoot INFO:lib389:Creating a local backend INFO:lib389:List backend cn=netscaperoot,cn=ldbm database,cn=plugins,cn=config INFO:lib389:Found entry dn: cn=netscaperoot,cn=ldbm database,cn=plugins,cn=config cn: netscaperoot nsslapd-cachememsize: 512000 nsslapd-cachesize: -1 nsslapd-directory: /var/lib/dirsrv/slapd-standalone1/db/netscaperoot nsslapd-dncachememsize: 16777216 nsslapd-readonly: off nsslapd-require-index: off nsslapd-suffix: o=netscaperoot objectClass: top objectClass: extensibleObject objectClass: nsBackendInstance INFO:lib389:Entry dn: cn="o=netscaperoot",cn=mapping tree,cn=config cn: o=netscaperoot nsslapd-backend: netscaperoot nsslapd-state: backend objectclass: top objectclass: extensibleObject objectclass: nsMappingTree INFO:lib389:Found entry dn: cn=o\3Dnetscaperoot,cn=mapping tree,cn=config cn: o=netscaperoot nsslapd-backend: netscaperoot nsslapd-state: backend objectClass: top objectClass: extensibleObject objectClass: nsMappingTree INFO:dirsrvtests.tests.tickets.ticket47981_test:Add our test entries to the default suffix, and proceed with the test... CRITICAL:dirsrvtests.tests.tickets.ticket47981_test:User does not have expected pwdpolicysubentry! ============= 1 failed, 604 passed, 1 skipped in 13987.41 seconds ==============' + '[' 1 -ne 0 ']' + echo CI Tests 'FAILED!' CI Tests FAILED! + MSG=FAILED + RC=1 + sudo /usr/sbin/sendmail mreynolds@xxxxxxxxxx firstyear@xxxxxxxxxx + sudo rm -rf /var/tmp/slapd.vg.106616 /var/tmp/slapd.vg.64522 /var/tmp/slapd.vg.91202 /var/tmp/slapd.vg.91342 + 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