See <http://vm-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/97/display/redirect> ------------------------------------------ [...truncated 7547 lines...] except ldap.LDAPError as e: log.error('\''Failed to add COS template for branch6: error '\'' + e.message['\''desc'\'']) assert False # Add the COS definition try: topology_st.standalone.add_s(Entry((BRANCH6_COS_DEF, { '\''objectclass'\'': '\''top ldapsubentry cosSuperDefinition cosPointerDefinition'\''.split(), '\''cn'\'': '\''cn=nsPwPolicyEntry,ou=lower,ou=lower,ou=people,dc=example,dc=com'\'', '\''costemplatedn'\'': BRANCH6_COS_TMPL, '\''cosAttribute'\'': '\''pwdpolicysubentry default operational-default'\'' }))) except ldap.LDAPError as e: log.error('\''Failed to add COS def for branch6: error '\'' + e.message['\''desc'\'']) assert False time.sleep(2) # # Now check that each user has its expected passwordPolicy subentry # try: entries = topology_st.standalone.search_s(USER1_DN, ldap.SCOPE_BASE, '\''(objectclass=top)'\'', ['\''pwdpolicysubentry'\'']) if not entries[0].hasValue('\''pwdpolicysubentry'\'', BRANCH1_PWP): log.fatal('\''User %s does not have expected pwdpolicysubentry!'\'') assert False except ldap.LDAPError as e: log.fatal('\''Unable to search for entry %s: error %s'\'' % (USER1_DN, e.message['\''desc'\''])) > assert False E assert False tickets/ticket47980_test.py:541: 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.ticket47980_test:Testing Ticket 47980 - Testing multiple nested COS pointer definitions are processed correctly CRITICAL:dirsrvtests.tests.tickets.ticket47980_test:Unable to search for entry uid=user1,ou=level1,dc=example,dc=com: error Operations error _______________________________ test_ticket48944 _______________________________ topo = <lib389.topologies.TopologyMain object at 0x7f02fe830990> def test_ticket48944(topo): """On a read only replica invalid state info can accumulate :ID: 833be131-f3bf-493e-97c6-3121438a07b1 :feature: Account Policy Plugin :setup: Two master and two consumer setup :steps: 1. Configure Account policy plugin with alwaysrecordlogin set to yes 2. Check if entries are synced across masters and consumers 3. Stop all masters and consumers 4. Start master1 and bind as user1 to create lastLoginTime attribute 5. Start master2 and wait for the sync of lastLoginTime attribute 6. Stop master1 and bind as user1 from master2 7. Check if lastLoginTime attribute is updated and greater than master1 8. Stop master2, start consumer1, consumer2 and then master2 9. Check if lastLoginTime attribute is updated on both consumers 10. Bind as user1 to both consumers and check the value is updated 11. Check if lastLoginTime attribute is not updated from consumers 12. Start master1 and make sure the lastLoginTime attribute is not updated on consumers 13. Bind as user1 from master1 and check if all masters and consumers have the same value 14. Check error logs of consumers for "deletedattribute;deleted" message :expectedresults: No accumulation of replica invalid state info on consumers """ log.info("Ticket 48944 - On a read only replica invalid state info can accumulate") user_name = '\''newbzusr'\'' tuserdn = '\''uid={}1,ou=people,{}'\''.format(user_name, SUFFIX) inst_list = ['\''master1'\'', '\''master2'\'', '\''consumer1'\'', '\''consumer2'\''] for inst_name in inst_list: _enable_plugin(topo, inst_name) log.info('\''Sleep for 10secs for the server to come up'\'') time.sleep(10) log.info('\''Add few entries to server and check if entries are replicated'\'') for nos in range(10): userdn = '\''uid={}{},ou=people,{}'\''.format(user_name, nos, SUFFIX) try: topo.ms['\''master1'\''].add_s(Entry((userdn, { '\''objectclass'\'': '\''top person'\''.split(), '\''objectclass'\'': '\''inetorgperson'\'', '\''cn'\'': user_name, '\''sn'\'': user_name, '\''userpassword'\'': USER_PW, '\''mail'\'': '\''{}@redhat.com'\''.format(user_name)}))) except ldap.LDAPError as e: log.error('\''Failed to add {} user: error {}'\''.format(userdn, e.message['\''desc'\''])) raise e log.info('\''Checking if entries are synced across masters and consumers'\'') entries_m1 = topo.ms['\''master1'\''].search_s(SUFFIX, ldap.SCOPE_SUBTREE, '\''uid={}*'\''.format(user_name), ['\''uid=*'\'']) exp_entries = str(entries_m1).count('\''dn: uid={}*'\''.format(user_name)) entries_m2 = topo.ms['\''master2'\''].search_s(SUFFIX, ldap.SCOPE_SUBTREE, '\''uid={}*'\''.format(user_name), ['\''uid=*'\'']) act_entries = str(entries_m2).count('\''dn: uid={}*'\''.format(user_name)) assert act_entries == exp_entries inst_list = ['\''consumer1'\'', '\''consumer2'\''] for inst in inst_list: entries_other = topo.cs[inst].search_s(SUFFIX, ldap.SCOPE_SUBTREE, '\''uid={}*'\''.format(user_name), ['\''uid=*'\'']) act_entries = str(entries_other).count('\''dn: uid={}*'\''.format(user_name)) assert act_entries == exp_entries topo.ms['\''master2'\''].stop(timeout=10) topo.ms['\''master1'\''].stop(timeout=10) topo.cs['\''consumer1'\''].stop(timeout=10) topo.cs['\''consumer2'\''].stop(timeout=10) topo.ms['\''master1'\''].start(timeout=10) lastLogin_m1_1 = _last_login_time(topo, tuserdn, '\''master1'\'', '\''bind_n_check'\'') log.info('\''Start master2 to sync lastLoginTime attribute from master1'\'') topo.ms['\''master2'\''].start(timeout=10) time.sleep(5) log.info('\''Stop master1'\'') topo.ms['\''master1'\''].stop(timeout=10) log.info('\''Bind as user1 to master2 and check if lastLoginTime attribute is greater than master1'\'') > lastLogin_m2_1 = _last_login_time(topo, tuserdn, '\''master2'\'', '\''bind_n_check'\'') <http://vm-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/ws/source/389-ds-base/dirsrvtests/tests/tickets/ticket48944_test.py>:156: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <http://vm-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/ws/source/389-ds-base/dirsrvtests/tests/tickets/ticket48944_test.py>:34: in _last_login_time topo.ms[inst_name].simple_bind_s(userdn, USER_PW) <http://vm-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/ws/source/lib389/lib389/__init__.py>:162: 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) <http://vm-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/ws/source/lib389/lib389/__init__.py>:162: 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-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/ws/source/lib389/lib389/__init__.py>:162: 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-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/ws/source/lib389/lib389/__init__.py>:162: in inner return f(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <lib389.DirSrv object at 0x7f02fe84bb10> func = <built-in method result4 of LDAP object at 0x7f0308a4bdf0> args = (2, 1, -1, 0, 0, 0), kwargs = {}, diagnostic_message_success = None e = INVALID_CREDENTIALS({'\''desc'\'': '\''Invalid credentials'\''},) 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 INVALID_CREDENTIALS: {'\''desc'\'': '\''Invalid credentials'\''} /usr/lib64/python2.7/site-packages/ldap/ldapobject.py:106: INVALID_CREDENTIALS ---------------------------- Captured stdout setup ----------------------------- OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists OK group dirsrv exists OK user dirsrv exists ('\''Update succeeded: status '\'', '\''0 Total update succeeded'\'') ('\''Update succeeded: status '\'', '\''0 Total update succeeded'\'') ('\''Update succeeded: status '\'', '\''0 Total update succeeded'\'') ---------------------------- Captured stderr setup ----------------------------- INFO:lib389.topologies:Instance with parameters {'\''ldap-port'\'': 39201, '\''suffix'\'': '\''dc=example,dc=com'\'', '\''krb5_realm'\'': None, '\''deployed-dir'\'': '\''/usr'\'', '\''inst-backupdir'\'': '\''/tmp'\'', '\''hostname'\'': '\''localhost'\'', '\''server-id'\'': '\''consumer1'\'', '\''root-pw'\'': '\''password'\'', '\''root-dn'\'': '\''cn=Directory Manager'\'', '\''group-id'\'': None, '\''InstScriptsEnabled'\'': None, '\''user-id'\'': None, '\''ldap-secureport'\'': None} was created. 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}Lzrv2s3GvWhLHrkNeyyarm1zjwNa/WNGWn/5aqSYcJhMeWVl487Kj0fFlIxDDt/n0aUr2kZDW9yujkFaxj/rEC/4+44Erhud INFO:lib389.topologies:Instance with parameters {'\''ldap-port'\'': 39202, '\''suffix'\'': '\''dc=example,dc=com'\'', '\''krb5_realm'\'': None, '\''deployed-dir'\'': '\''/usr'\'', '\''inst-backupdir'\'': '\''/tmp'\'', '\''hostname'\'': '\''localhost'\'', '\''server-id'\'': '\''consumer2'\'', '\''root-pw'\'': '\''password'\'', '\''root-dn'\'': '\''cn=Directory Manager'\'', '\''group-id'\'': None, '\''InstScriptsEnabled'\'': None, '\''user-id'\'': None, '\''ldap-secureport'\'': None} was created. 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}DbYqdGR4dOu6U3GYfmoY0lP/i3lYQ1EQR7ZRh35Tyn8A1/krqVlLTdqEfkOrZyn9Ej3ciEJATtcIwh5VFXSVEPBE4uglIotn INFO:lib389.topologies:Instance with parameters {'\''ldap-port'\'': 39001, '\''suffix'\'': '\''dc=example,dc=com'\'', '\''krb5_realm'\'': None, '\''deployed-dir'\'': '\''/usr'\'', '\''inst-backupdir'\'': '\''/tmp'\'', '\''hostname'\'': '\''localhost'\'', '\''server-id'\'': '\''master1'\'', '\''root-pw'\'': '\''password'\'', '\''root-dn'\'': '\''cn=Directory Manager'\'', '\''group-id'\'': None, '\''InstScriptsEnabled'\'': None, '\''user-id'\'': None, '\''ldap-secureport'\'': None} was created. 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}GpIoboj/nc2v6fop0sDZHT7iS0xh/PL3Og0ixJK7X4ovKL8+o5v5/82uNabPmmK0zlspd2xDcKx6wYF1bpTUjgdQ5qyv401i INFO:lib389.topologies:Instance with parameters {'\''ldap-port'\'': 39002, '\''suffix'\'': '\''dc=example,dc=com'\'', '\''krb5_realm'\'': None, '\''deployed-dir'\'': '\''/usr'\'', '\''inst-backupdir'\'': '\''/tmp'\'', '\''hostname'\'': '\''localhost'\'', '\''server-id'\'': '\''master2'\'', '\''root-pw'\'': '\''password'\'', '\''root-dn'\'': '\''cn=Directory Manager'\'', '\''group-id'\'': None, '\''InstScriptsEnabled'\'': None, '\''user-id'\'': None, '\''ldap-secureport'\'': None} was created. 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}LQ7LKt5ay++EQ6tUATRfR+gJBKTdR0pbF8Y8Cy0b/PpQBid05q1H+LZiaGHxQDuAAgPHJRTEhWZPBPIfmn3Kr0jEppg1sjA9 INFO:Replica:Starting async replication cn=meTo_localhost:39001,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:Replica:Starting async replication cn=meTo_localhost:39201,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config INFO:Replica:Starting async replication cn=meTo_localhost:39202,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config ----------------------------- Captured stderr call ----------------------------- INFO:dirsrvtests.tests.tickets.ticket48944_test:Ticket 48944 - On a read only replica invalid state info can accumulate INFO:dirsrvtests.tests.tickets.ticket48944_test:Enable account policy plugin and configure required attributes INFO:dirsrvtests.tests.tickets.ticket48944_test:Configure Account policy plugin on master1 INFO:dirsrvtests.tests.tickets.ticket48944_test:Enable account policy plugin and configure required attributes INFO:dirsrvtests.tests.tickets.ticket48944_test:Configure Account policy plugin on master2 INFO:dirsrvtests.tests.tickets.ticket48944_test:Enable account policy plugin and configure required attributes INFO:dirsrvtests.tests.tickets.ticket48944_test:Configure Account policy plugin on consumer1 INFO:dirsrvtests.tests.tickets.ticket48944_test:Enable account policy plugin and configure required attributes INFO:dirsrvtests.tests.tickets.ticket48944_test:Configure Account policy plugin on consumer2 INFO:dirsrvtests.tests.tickets.ticket48944_test:Sleep for 10secs for the server to come up INFO:dirsrvtests.tests.tickets.ticket48944_test:Add few entries to server and check if entries are replicated INFO:dirsrvtests.tests.tickets.ticket48944_test:Checking if entries are synced across masters and consumers INFO:dirsrvtests.tests.tickets.ticket48944_test:Start master2 to sync lastLoginTime attribute from master1 INFO:dirsrvtests.tests.tickets.ticket48944_test:Stop master1 INFO:dirsrvtests.tests.tickets.ticket48944_test:Bind as user1 to master2 and check if lastLoginTime attribute is greater than master1 ======== 16 failed, 566 passed, 1 skipped, 38 error in 8897.36 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.106801 /var/tmp/slapd.vg.63085 /var/tmp/slapd.vg.89976 /var/tmp/slapd.vg.90088 + 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